SYSTEMY NUMERACJI
Transkrypt
SYSTEMY NUMERACJI
ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE SYSTEMY NUMERACJI SYSTEMY NUMERACJI Rozwój techniki cyfrowej spowodował powstanie i upowszechnienie inny systemów zapisu liczb niż powszechnie stosowany system dziesiętny. Mamy więc następujące systemy: - dziesiętny (decymalny) – DEC - dwójkowy (binarny) – BIN - ósemkowy (oktalny) -OCT - szesnastkowy (heksadecymalny) - HEX Maszyny cyfrowe pracują głównie w systemie dwójkowym (binarnym), w którym dowolną wartość zapisuje się za pomocą dwóch cyfr: 0 i 1. W układach elektronicznych wartościom 0 i 1 może odpowiadać pewien stan napięcia lub brak napięcia. Wartości 0 i 1 mogą też być interpretowane jako wartości logiczne: prawda – fałsz (tak – nie). Wartości 0 i 1 zapisywane są jako pojedyncze bity Co to jest bit? 1. ang. BInary digiT – cyfra dwójkowa, 2. ang. Basic Information uniT – podstawowa jednostka informacji, 3. najmniejsza jednostka pojemności pamięci do zapisywania danych w kodzie dwójkowym. 8 bitów (8b) = 1 bajt (1B) Powyższe systemy numeracji to tzw. systemy pozycyjne o następujących cechach charakterystycznych: 1. Każda liczba zapisywana jest za pomocą cyfr dopuszczalnych w danym systemie numeracji: DEC – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 BIN – 0, 1 OCT – 0, 1, 2, 3, 4, 5, 6, 7 HEX – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 2. Każda cyfra jest umieszczana w innej kolumnie, której przyporządkowana jest jej waga. Wagi kolumn są równe kolejnym potęgom liczby będącej podstawą systemu. DEC – ...103 102 101 100 10-1 10-2 10-3 10-4... BIN – ...23 22 21 20 2-1 2-2 2-3 2-4... W systemie dwójkowym do określenia pozycji używa się numerów kolejnych bitów licząc od zera. W ten sposób mamy na pozycji maksymalnie z prawej „BIT ZEROWY”: ...23 22 21 20 1 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE SYSTEMY NUMERACJI 3. Liczba zapisywana w systemie pozycyjnym jest równa sumie iloczynów cyfr zapisanych w poszczególnych kolumnach i wag tych kolumn. L = ∑ ai r i gdzie r ∈ {2, 8, 10, 16} 4. Dla każdego systemu pozycyjnego istnieją reguły wykonywania operacji arytmetycznych na liczbach zapisanych w danym systemie. p q p+q p*q p-q p:q 0 0 0 0 0 nie istnieje 0 1 1 0 →1 1 0 1 0 1 nie istnieje 1 1 ←10 1 0 1 ←1 oznacza przeniesienie 1 do najbliższej lewej pozycji →1 oznacza przeniesienie 1 z najbliższej lewej pozycji 0 5. Przekształcenie liczby zapisanej w jednym systemie na liczbę zapisaną w drugim systemie jest łatwe dzięki wykorzystaniu pojęcia wagi kolejnych kolumn. np. (107)10 = (x) 2 107 : 2 = 53 r 1 bit zerowy 53 : 2 = 26 r 1 26 : 2 = 13 r 0 13 : 2 = 6 r 1 6:2= 3r0 3:2= 1r1 kierunek zapisu 1:2= 0r1 0 1 1 0 1 0 1 1 - liczba 107 jako liczba binarna zapisana za pomocą 8 bitów 27 26 25 24 23 22 21 20 Zapis binarny jest bardzo rozwlekły i dlatego zastępowany jest często zapisem ósemkowym lub szesnastkowym. 2 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE SYSTEMY NUMERACJI Liczby 0-20 w systemach DEC, BIN, OCT, HEX DEC BIN OCT HEX 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10 17 10001 21 11 18 10010 22 12 19 10011 23 13 20 10100 24 14 3 ARCHITEKTURY KOMPUTERÓW I SYSTEMY OPERACYJNE SYSTEMY NUMERACJI REPREZENTACJA DANYCH 1. dane alfanumeryczne – zazwyczaj kod ASCII (ang. American Standard Code for Information Interchange) Cechy charakterystyczne kodu ASCII: - 7-bitowy obejmuje 128 znaków - 8-bitowy obejmuje 256 znaków - znaki o 0 - 32 - znaki kontrolne o 33 – 127 – litery, cyfry, interpunkcyjne itd. o 128 – 256 – znaki semigraficzne, niektóre litery alfabetu greckiego i wybranych języków zachodnioeuropejskich - wzorzec znaków ASCII jest zapisany w pamięci ROM (ang. Read Only Memory) 2. liczby całkowite 2.1. kod dwójkowo-dziesiętny, tzw. BCD (ang. Binary Coded Decimal notation). Sposób zapisu liczb dziesiętnych polegający na zapisywaniu kolejnych cyfr liczby dziesiętnej jako liczb dwójkowych. Jednej cyfrze dziesiętnej odpowiadają zawsze 4 bity w kodzie BCD. np. liczba 8372 to 1000 0011 0111 0010 2.2. kod uzupełnień do dwóch, kod U2 (ang. two’s complement code) – odpowiada zapisowi pozycyjnemu liczby w zapisie dwójkowym, przy czym bit najbardziej znaczący ma wagę ujemną i jest bitem znaku. Liczba LU2 = bnbn-1...b0,b-1...b-m w kodzie U2 ma wartość Lu2 = -2n *bn*∑ 2i*bi gdzie: bi – bity 0 lub 1 (cyfry dwójkowe), 2i – waga cyfry Uwaga: w kodzie U2 kodowanie liczb dodatnich w stosunku do kodu dwójkowego nie ulega zmianie, różnica jest w kodowaniu liczb ujemnych: N+ 1 3. liczby rzeczywiste 3.1. liczby stałoprzecinkowe: 3.2. liczby zmiennoprzecinkowe - znak liczby - znak liczby - część całkowita - mantysa - część ułamkowa - znak cechy - cecha 4