Pracownia komputerowa Dariusz Wardecki, wyk. VI
Powtórzenie Ile wynoszą poniższe liczby w systemie dwójkowym/ dziesiętnym? 1001101 =? 77! 63 =? 111111!
Arytmetyka w reprezentacji bezznakowej Mnożenie liczb w systemie dwójkowym a b c 0 0 0 1 0 0 0 1 0 1100! * 1011!! 10000100 1 1 1
Arytmetyka w reprezentacji bezznakowej Dzielenie liczb w systemie dwójkowym 1010:10 101!! 1010! 10!! 0010! 10!! 0010! 10!
Własności reprezentacji bezznakowej Tylko liczby całkowite nieujemne Naturalna arytmetyka Możliwość wystąpienia przepełnienia (ang. overflow) przy dodawaniu Problem z odejmowaniem liczby większej od mniejszej
Liczby całkowite ujemne Propozycja: 00111001 (+57)! + 10001101 (-13)! ----------! 11000110 (-69)
Liczby całkowite ujemne Propozycja: 00001110 00111001 (+14)! (+57)! + 1xxxxxxx 10001101 (-14)! (-13)! ----------! 00000000 ( 0)
Reprezentacja uzupełnień do 2 Uzupełnieniem dwójkowym liczby x zapisanej za pomocą n bitów nazywamy liczbę: x u2 =2 n x Przykłady x = 0101,x u2 =2 4 0101 = 10000 0101 = 1011 x = 1011,x u2 =2 4 1011 = 10000 1011 = 0101
Liczby całkowite ujemne Rozwiązanie: 00001110 00111001 (+14)! (+57)! + 11110010 10001101 (-14)! (-13)! ----------! 00000000 ( 0) DEC ZNAK-MOD Rep. U2 +7 0111 0111 +6 0110 0110 +5 0101 0101 +4 0100 0100 +3 0011 0011 +2 0010 0010 +1 0001 0001 +0 0000 0000-0 1000 -- -1 1001 1111-2 1010 1110-3 1011 1101-4 1100 1100-5 1101 1011-6 1110 1010-7 1111 1001-8 -- 1000
Liczby całkowite ujemne ÿ Typy danych dla reprezentacji uzupe nienia do 2 N = 8 :od 2 7 = 128 do 127 = 2 7 1 N = 16 :od 2 15 = 32768 do 32767 = 2 15 1 N = 32 :od 2 31 do 2 31 1 N = 64 :od 2 63 do 2 63 1 N = 128 :od 2 127 do 2 127 1
Własności reprezentacji uzupełnienia do 2 Tylko liczby ca kowite (mogπ byê ujemne). Dodawanie i odejmowanie jak dla reprezentacji bezznakowej. MoøliwoúÊ wystπpienia przepe nienia (w innych okolicznoúciach, niø dla reprezentacji bezznakowej). Przy danej liczbie bitów najwiíksza wartoúê jest o po owí mniejsza od najwiíkszej wartoúci dla analogicznego typu danych w reprezentacji bezznakowej.
Reprezentacja liczb rzeczywistych Ułamki w systemie binarnym 65.872 (dec) 6 10 1 +5 10 0 +8 10 1 +7 10 2 +2 10 3 5.25 (dec) = 101.01 (bin) 1 2 2 +0 2 1 +1 2 0 +0 2 1 +1 2 2
Reprezentacja liczb rzeczywistych 65 10 =? 2 65%2 = 1! 32%2 = 0! 16%2 = 0! 8%2 = 0! 4%2 = 0! 2%2 = 0! 65.40625 10 =? 2 0.40625*2 = 0.8125! 0.8125*2 = 1.625! 0.625*2 = 1.25! 0.25*2 = 0.5! 0.5*2 = 1.0! 1%2 = 1! 65.40625 (dec) = 1000001.01101 (bin)
Reprezentacja liczb rzeczywistych Notacja naukowa 4.56 10 14 = 456 10 16 =0.456 10 13 Reprezentacja zmiennoprzecinkowa (ang. floating point)
Reprezentacja liczb rzeczywistych z m M B Z cc gdzie: M - mantysa, C - wykładnik (cecha), B - podstawa, z - znak mantysy i podstawy. z m M 2 Z cc W sys. binarnym z m M 2 C K c Kc - stała
Reprezentacja liczb Normowanie mentysy rzeczywistych 1.0 apple M apple 2.0 1.b n...b 0 Przykład - 8 bitów, Kc = 7 Z C C C C M M M 00000000 = 1.0000*2e-7 = 0.0078125! 01111111 = 1.8750*2e+8 = 480
Reprezentacja liczb rzeczywistych Dostępne zakresy: niedomiar dodatni przepełnienie dodatnie -480-0.0078125 0 +0.0078125 +480 przepełnienie ujemne niedomiar ujemny
Reprezentacja liczb rzeczywistych Istnieje wiele reprezentacji dla tej samej d ugoúci s owa 1 Dok adnoúê zaleøy odd ugoúci (liczby bitów) mantysy. 2 Zakres wartoúci zaleøy odd ugoúci (liczby bitów) wyk adnika. 3 Przy przeprowadzaniu operacji wyniki zaokrπgla sií tak, aby moøna je by o zapisaê z pomocπ wybranej liczby bitów mantysy i wyk adnika. Problem niezgodnoúci miídzy róønymi reprezentacjami zosta rozwiπzany poprzez wprowadzenie miídzynarodowej normy standard IEEE 754.
Standard IEEE 754 Reprezentacja 32 bitowa Kc = 127
Standard IEEE 754 Pojedyńcza precyzja (ang. single precision) r = ±S r 2 W r 1 S owo 32-bitowe. 2 b 31 =znak. 3 b 30...b 23 = W r (od 126 do 127). 4 PostaÊ znormalizowana: S r = 1 + 23 ÿ j=1 b 23 j 2 j
Standard IEEE 754 Podwójna precyzja (ang. double precision) r = ±S r 2 W r 1 S owo 64-bitowe. 2 b 63 =znak. 3 b 62...b 52 = W r (od 1022 do 1023). 4 PostaÊ znormalizowana: S r = 1 + 52 ÿ j=1 b 52 j 2 j