Prikaz realnih brojeva u raunalu STJEPAN ALKOVI 3
Prikaz realnih brojeva u računalu STJEPAN ŠALKOVIĆ 3. 6. 2021.
Dekadski <-> binarni Cijeli dio dijelimo sa 2 do rezultata 0 1 --. --- = 4 Decimalni dio množimo sa 2 do rezultata 1. 0 ili željene preciznosti -0 -. --- = 0 5. 375 prikaži binarno 5: 2=2 1 2: 2=1 0 1: 2=0 1 5. 375(10)=101, 011(2) --1. --- = 1 ---. 0 -- = 0 ---. -1 - = 0. 25 0. 375*2=0. 75 *2=1. 5 0. 5 *2=1. 0 ---. --1 = 0. 125 5. 375 2 1 0 -1 -2 -3 101, 011(2) =1*22+1*20+1*2 -2+1*2 -3=4+1+0. 25+0, 125=5. 375(10)
Realni brojevi 4. 35 = 4+0. 35 4 (10) = 100 (2) Zapis neće uvijek biti potpuno jednak broju. Desi se mala razlika zbog konverzije. 0, 35∙ 2=0, 7 35 0, 7∙ 2=1, 4 0, 4∙ 2=0, 8∙ 2=1, 6 0, 6∙ 2=1, 2 0, 2∙ 2=0, 4∙ 2=0, 8∙ 2=1, 6 0, 6∙ 2=1, 2 … 0, 35(10)≈ 0, 010110011…(2) 0, 010110011(2)= 1· 2 -2+1· 2 -4+1· 2 -5+1· 2 -8+1· 2 -9 = 0, 349609375(10)
Tehnika kliznog ili pomičnog zareza 230000000(10)=2, 3· 1014 0, 000000023 (10)=2, 3· 10 -14 2, 3 E+14 mantisa 2, 3 10 baza -14 eksponent
Binarni brojevi i množenje s množenje pozitivnom potencijom baze 2 ◦ binarna točka se pomakne odgovarajući broj mjesta desno množenje negativnom potencijom baze 2 (ili dijeljenje s pozitivnom potencijom baze 2) ◦ binarna točka se pomakne odgovarajući broj mjesta ulijevo 1. 01 2 2 1 0 1 1. 01 2 -2 0. 0 1 01 n 2 i -n 2
Realni brojevi standardne preciznosti IEEE Standard 754: zapis realnih (decimalnih) brojeva u računalu uz korištenje tehnike pomičnog zareza. Za prikaz brojeva u standardnoj jednostrukoj točnosti prema tom standardu računalo koristi 32 bita. Tip podataka: float (single) pred znak 31 KARAKTERISTIKA (eksponent+127) (8 bita) 30 … 23 MANTISA bez vodeće jedinice (23 bita) 22 21 …. 1 Predznak: 1 – negativan broj, 0 – pozitivan broj Eksponentu se dodaje 127 da bismo u prikazu izbjegli negativne eksponente! 0
Primjer: Zapis broja 9. 75 u računalu. 0. 75*2= 1. 5 0. 5 *2=1. 0 0. 75= 0. 112 910= 1001 2 9/2=4 ostatak 1 …. 9. 7510 1001. 112 20 1. 001112 23 Normalizacijom svakog binarnog broja (osim nule) dobit ćemo broj oblika: 1. xxxxx Vodeća jedinica ne pohranjuje se u računalu i naziva se skrivenim bitom (hidden bit)!
9. 75(10) + 1. 00111(2) 23 Predznak = 0 (pozitivan broj) Binarni eksponent = 3 0010 Karakteristika = 3 + 127 = 130 =1000 ( Mantisa (cijela) Mantisa (bez skrivenog bita) )2 1. 00111 pred znak KARAKTERISTIKA (eksponent+127) (8 bita) MANTISA bez vodeće jedinice (23 bita) 0 10000010 00111000000000 ili heksadekadski: 0100 0001 1100 0000 4 1 1 C 0 0
Raspon i točnost realnih brojeva KARAKTERISTIKA (eksponent+127) (8 bita) predz nak 31 30 … MANTISA bez vodeće jedinice (23 bita) 23 22 … 0 Raspon binarnog eksponenta: od -126 do 127 Raspon karakteristike: broj od 0 do 255 Kada je K = 0 i svi bitovi mantise nula, radi se o broju nula Kada je K = 255 i svi bitovi mantise nula, radi se o prikazu +∞ ili -∞ ovisno o predznaku Najmanji pozitivni broj 0: 0. 000000000001 2 -126 što iznosi 1. 401298464324817 10 -45 Najveći pozitivan broj: 1. 111111111111 2127 2128 = 3. 402823669209 *1038 Točnost: 24 binarne znamenke (jedna cjelobrojna i 23 znamenke iz mantise razlomljenog dijela)
Realni brojevi dvostruke točnosti pred znak 63 KARAKTERISTIKA (eksponent+1023) (11 bita) 62 … 52 MANTISA bez vodeće jedinice (52 bita) 51 21 …. 1 0 Za zapis koristimo 64 bita: ◦ 1 za predznak ◦ 11 za karakteristiku (eksponent +1023) ◦ 52 za mantisu (bez vodeće jedinice iz cijelog dijela broja)
Zadatak Zapiši 27. 25 u IEEE 754 binarno i heksadekadski 0 10000011 101101000000000 0 x 41 DA 0000 https: //www. h-schmidt. net/Float. Converter/IEEE 754. html 11
Neka je 42 CA 0000 heksadekadski oblik realnog broja prema IEEE 754 standardu u jednostrukoj preciznosti. Napiši taj broj u dekadskom sustavu. = 101 12
U 32 -bitovnome registru zapisan je broj prema IEEE 754 standardu. Heksadekadski ekvivalent zapisa broja je C 13 E 0000. Koji će dekadski broj biti prikazan na zaslonu monitora? A. – 11, 875 B. – 3, 875 C. 3, 875 D. 11, 875 C 1 3 E 0 0 1100 0001 0011 1110 0000 Prvi bit je predznak: 1 = negativan Slijedećih 8 bitova: 10000010=130 -127=3 Ostala 23 bita mantisa bez skrivenog bita: 0, 01111100. . ispred dopišemo 1, Dakle, broj je: 1, 011111 *23=1011, 111 1011=1*23+1*21+1*20=1110 0, 111=1*2 -1+1*2 -2+1*2 -3=0, 5+0, 25+0, 125=0, 87510 -11, 875 13
Zadaci A. Zapiši 25. 75 u IEEE 754 B. U 32 -bitovnome registru zapisan je broj prema IEEE 754 standardu. Heksadekadski ekvivalent zapisa broja je 0 x 41000000. Koji je to dekadski broj? 14
Hvala na pažnji!
- Slides: 15