Upload
dokhuong
View
229
Download
0
Embed Size (px)
Citation preview
PowtórzenieIle wynoszą poniższe liczby w systemie dwójkowym/
dziesiętnym?
63 = ?
1001101 = ? 77!!
111111
Arytmetyka w reprezentacji bezznakowej
Mnożenie liczb w systemie dwójkowym
a b c
0 0 0
1 0 0
0 1 0
1 1 1
1100!* 1011!
——————!10000100
Arytmetyka w reprezentacji bezznakowej
Dzielenie liczb w systemie dwójkowym!
101 ! —————!
1010! 10!
—————!0010!
10! ————! 0010!
10
1010: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)!
----------!
00111001 (+57)! + 10001101 (-13)!
----------!11000110 (-69)
Liczby całkowite ujemne
Propozycja:
00111001 (+57)! + 10001101 (-13)!
----------!
00001110 (+14)! + 1xxxxxxx (-14)!
----------!00000000 ( 0)
Reprezentacja uzupełnień do 2
Uzupełnieniem dwójkowym liczby x zapisanej za pomocą n bitów nazywamy liczbę:
xu2 = 2n � x
Przykłady
x = 0101, xu2 = 24 � 0101 = 10000� 0101 = 1011
x = 1011, xu2 = 24 � 1011 = 10000� 1011 = 0101
Liczby całkowite ujemne
Rozwiązanie:
00111001 (+57)! + 10001101 (-13)!
----------!
00001110 (+14)! + 11110010 (-14)!
----------!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
Liczby i znaki w zapisie binarnym Reprezentacja uzupe≥nienia do 2
Reprezentacja uzupe≥nienia do 2 dla liczb ca≥kowitych
b – liczba ca≥kowita (moøe byÊ ujemna)
b = ≠bN≠12N≠1+
N≠2ÿ
j=0
bj
2j = ≠bN≠12N≠1+bN≠22N≠2+ . . .+b121+b020
Typy danych dla reprezentacji uzupe≥nienia do 2
N = 8 : od ≠27 = ≠128 do 127 = 27 ≠ 1N = 16 : od ≠215 = ≠32768 do 32767 = 215 ≠ 1N = 32 : od ≠231 do 231 ≠ 1N = 64 : od ≠263 do 263 ≠ 1N = 128 : od ≠2127 do 2127 ≠ 1
Dzia≥ania przeprowadza siÍ na danych tego samego typu.
Rafa≥ J. Wysocki ([email protected]) Pracownia komputerowa 9 stycznia 2012 15 / 76
Własności reprezentacji uzupełnienia do 2Liczby i znaki w zapisie binarnym Reprezentacja uzupe≥nienia do 2
W≥asnoúci reprezentacji usupe≥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 odnajwiÍkszej wartoúci dla analogicznego typu danych w reprezentacjibezznakowej.
Rafa≥ J. Wysocki ([email protected]) Pracownia komputerowa 9 stycznia 2012 17 / 76
Reprezentacja liczb rzeczywistych
Ułamki w systemie binarnym
65.872 (dec) 6 ⇤ 101 + 5 ⇤ 100 + 8 ⇤ 10�1 + 7 ⇤ 10�2 + 2 ⇤ 10�3
5.25 (dec) = 101.01 (bin)
1 ⇤ 22 + 0 ⇤ 21 + 1 ⇤ 20 + 0 ⇤ 2�1 + 1 ⇤ 2�2
Reprezentacja liczb rzeczywistych
6510 =?265%2 = 1!32%2 = 0!16%2 = 0! 8%2 = 0! 4%2 = 0! 2%2 = 0! 1%2 = 1!
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!
65.4062510 =?2
65.40625 (dec) = 1000001.01101 (bin)
Reprezentacja liczb rzeczywistych
4.56⇥ 10�14 = 456⇥ 10�16 = 0.456⇥ 10�13
Notacja naukowa
Reprezentacja zmiennoprzecinkowa (ang. floating point)
Reprezentacja liczb rzeczywistych
zmM ⇥BZcC
zmM ⇥ 2ZcC
zmM ⇥ 2C�Kc
gdzie: M - mantysa, C - wykładnik (cecha), B - podstawa, z - znak mantysy i podstawy.
W sys. binarnym
Kc - stała
Reprezentacja liczb rzeczywistych
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
Normowanie mentysy
1.bn. . . b01.0 M 2.0
Reprezentacja liczb rzeczywistych
Dostępne zakresy:
0
-480 -0.0078125
+0.0078125 +480
przepełnienie ujemneniedomiar ujemny
przepełnienie dodatnie
niedomiar dodatni
Reprezentacja liczb rzeczywistychLiczby i znaki w zapisie binarnym Reprezentacje zmiennoprzecinkowe
Zmiennoprzecinkowe reprezentacje liczb
Istnieje wiele reprezentacji dla tej samej d≥ugoúci s≥owa1 Dok≥adnoúÊ zaleøy od d≥ugoúci (liczby bitów) mantysy.2 Zakres wartoúci zaleøy od d≥ugoúci (liczby bitów) wyk≥adnika.3 Przy przeprowadzaniu operacji wyniki zaokrπgla siÍ tak, aby moøna jeby≥o zapisaÊ z pomocπ wybranej liczby bitów mantysy i wyk≥adnika.
Problem niezgodnoúci miÍdzy róønymi reprezentacjami zosta≥ rozwiπzanypoprzez wprowadzenie miÍdzynarodowej normy – standard IEEE 754.
PostaÊ znormalizowanaZak≥ada siÍ, øe najbardziej znaczπcy bit mantysy jest jedynkπ i nie jest onprzechowywany. Wówczas jednak wystÍpuje problem reprezentacji dla zera.
Rafa≥ J. Wysocki ([email protected]) Pracownia komputerowa 9 stycznia 2012 19 / 76
Standard IEEE 754Liczby i znaki w zapisie binarnym Reprezentacje zmiennoprzecinkowe
Reprezentacja o pojedynczej precyzji (ang. single precision)
r = ±Sr
◊ 2Wr
1 S≥owo 32-bitowe.2 b31
= znak.3 b30
. . . b23
= Wr
(od ≠126 do 127).4 PostaÊ znormalizowana:
Sr
= 1+23ÿ
j=1
b23≠j2≠j
5 PostaÊ zdenormalizowana:
Wr
= ≠126, Sr
=23ÿ
j=1
b23≠j2≠j
Rafa≥ J. Wysocki ([email protected]) Pracownia komputerowa 9 stycznia 2012 21 / 76
Pojedyńcza precyzja (ang. single precision)
Standard IEEE 754Podwójna precyzja (ang. double precision)
Liczby i znaki w zapisie binarnym Reprezentacje zmiennoprzecinkowe
Reprezentacja o podwójnej precyzji (ang. double precision)
r = ±Sr
◊ 2Wr
1 S≥owo 64-bitowe.2 b63
= znak.3 b62
. . . b52
= Wr
(od ≠1022 do 1023).4 PostaÊ znormalizowana:
Sr
= 1+52ÿ
j=1
b52≠j2≠j
5 PostaÊ zdenormalizowana:
Wr
= ≠1022, Sr
=52ÿ
j=1
b52≠j2≠j
Rafa≥ J. Wysocki ([email protected]) Pracownia komputerowa 9 stycznia 2012 22 / 76