Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Informatyka I Język ANSI C
Kody pozycyjne Wykład 2
2
Liczby całkowite Interpretacja notacji
(xnxn-1xn-2....x1x0)p= = xn•pn + xn-1•pn-1 + xn-2•pn x1•p + x0 Przykład: 15210 = 1• •10 +2•1 = 152 1528 = 1•64 + 5•8 + 2 = 106 15216 = 1• • = 338 1522 = ERROR!! Wykład 2
3
Więcej przykładów Dziesiętny (decymalny) Dwójkowy Heksadecy-malny
(binarny) Heksadecy-malny Ósemkowy (oktalny) 1 2 10 3 11 4 100 8 1000 9 1001 1010 A 12 1011 B 13 15 1111 F 17 16 10000 20 163 A3 243 Wykład 2
4
Procedury zamiany kodów
Przejście z kodu dwójkowego na heksadecymalny Grupujemy od końca zera i jedynki w paczki po cztery i wyzna-czamy wartość każdej paczki jako jedną pozycję zapisu Przejście z kodu heksadecymalnego na dwójkowy Każdą cyfrę z zapisu szesnastkowego zamieniamy na liczbę za-pisaną w kodzie dwójkowym na czterech pozycjach Przejście z kodu dwójkowego na ósemkowy Grupujemy od końca zera i jedynki w paczki po trzy i wyznacza-my wartość każdej paczki jako jedną pozycję zapisu Przejście z kodu ósemkowego na dwójkowy Każdą cyfrę z zapisu oktalnego zamieniamy na liczbę zapisaną w kodzie dwójkowym na trzech pozycjach Wykład 2
5
Algorytm przejścia do kodu o podstawie p
dzielimy przekształcaną liczbę przez p dopóki nie uzyskamy 0 zapamiętujemy reszty z kolej-nych dzieleń zapisujemy zapamiętane reszty w kolejności od końca Przykład DEC BIN 163 1 81 40 20 10 5 2 END DEC OCT 163 3 20 4 2 END Wykład 2
6
Dobrze wiedzieć... Należy znać potęgi dwójki przynajmniej od 21 do 216 oraz 232 = Definicja 1B = 8 bitów = 23 bitów Definicja 1kB=210B=1024B (ca 1000 B) Związek pomiędzy rozmiarem rejestru (adresu) a wymiarem pamięci operacyjnej: 2B =16 bitów 216B=26kB=64kB Wykład 2
7
Operacje Arytmetyczne
Dodawanie Mnożenie 11 +5 16 1011 11 • 101 • 5 55 1011__ 110111 Mnożenie przez 2 - przesunięcie w lewo z dopisaniem 0 11*2=22 <=> 1011*10=10110 Dzielenie przez 2 - przesunięcie w prawo z wypadaniem najmłodszego bitu 11/2=5 <=> 1011/10=101 Wykład 2
8
Arytmetyka uzupełnieniowa do dwóch 2's Complementary Arithmetic
Jest to sposób na uwzględnienie liczb ujemnych. Specjalny kod zapisu pozwala sprowadzić odejmowanie liczb całkowitych do ich dodawania: x – y = x + (-y) ALGORYTM ZMIANY ZNAKU x -x 1. zamieniamy wszystkie zera na jedynki i odwrotnie 2. Dodajemy 1 Przykład 1 4 -4 4 1 0 + 1 Dodajemy 1 Ponoć –4 ? W drugą stronę Hura! Znowu 4! Wykład 2
9
Najstarszy bit jest bitem znaku
Przykłady c.d. Obliczamy wartość wyrażenia 11 – 5. Wszystkie operacje na jednym bajcie. 5 -5 WŁASNOŚĆ NOTACJI Najstarszy bit jest bitem znaku 1 – liczba ujemna 11 + (-5) 6 Obliczamy wartość wyrażenia Wszystkie operacje na jednym bajcie. 100 + 90 ?? 190 1 0 66 WNIOSEK Wynik obliczeń: = -66 Ciekawostka: =256 = 28 Wykład 2
10
WŁASNOŚCI KONWENCJI dodajemy 1
Binarnie Bez. 2’s c 1 2 3 127 128 -128 129 -127 254 -2 255 -1 Tabela ma 28 = 256 wierszy (i wartości) Interpretacja zależy od przyjętej konwencji W arytmetyce bez-względnej: 0 255 W arytmetyce uzupeł. do dwóch: -128 127 Na dwóch bajtach można zapamiętać 216 = wartości Bezwg: 0 65535 2’s: 32767 Wykład 2
11
LICZBY RZECZYWISTE Zapis w postaci p2m, p – precyzja, m – mantysa;
p ma postać w związku z tym trzech początko-wych symboli się nie zapamiętuje bo zawsze są takie same. Zamiast tego zapamiętuje się znak; m jest zwiększane o połowę zakresu, tak aby było zawsze nieujemne; Wniosek: Wcale nie jest tak łatwo pomnożyć liczbę rzeczywistą przez liczbę zapisaną w arytmetyce uzu-pełnieniowej do dwóch (jak się jest komputerem). Wykład 2
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.