architektura komputerów w. 2 Wiadomości i kody Wiadomości (Informacje) dyskretne ciągłe Kod - zbiór ciągów kodowych oraz reguła przyporządkowania ich wiadomościom. Ciąg kodowy - sygnał mający postać ciągu sygnałów elementarnych zbiór sygnałów elementarnych - alfabet kodu architektura komputerów w 1 1
Dane Wartości logiczne Znaki pisarskie Liczby Całkowite Całkowite ze znakiem Niecalkowite Stałopozycyjne zmiennopozycyjne Dźwięki i inne sygnały jednowymiarowe Obrazy Dane komputery działają w systemie binarnym. Wszystkie dane, na których operuje komputer, są zapisane w postaci ciągów cyfr binarnych o długości najczęściej 2 n *8. Wszelkie dane o charakterze nieliczbowym muszą być zapisane (zakodowane) w postaci ciągów binarnych. architektura komputerów w 1 2
Dane alfanumeryczne (znaki pisarskie) Znak pisarski reprezentowany jest przez liczbę, która odpowiada jego pozycji w tablicy kodowej Kody binarne Dla słowa n bitowego istnieje 2 n kombinacji bitów kod - sposób przypisania znaczeń poszczególnym kombinacjom 7-mio bitowy kod ASCII i jego odmiany narodowe B7 B6 B5 B4 B3 B2 B1 B0 architektura komputerów w 1 3
Kod ASCII B7 0 0 0 0 0 0 0 0 B6 0 0 0 0 1 1 1 1 B5 0 0 1 1 0 0 1 1 B3 B2 B1 B0\B4 0 1 0 1 0 1 0 1 0 0 0 0 NL DLE SP 0 @ P ` p 0 0 0 1 SOH DC1! 1 A Q a q 0 0 1 0 STX DC2 " 2 B R b r 0 0 1 1 ETX DC3 # 3 C S c s 0 1 0 0 EOT DC4 $ 4 D T d t 0 1 0 1 ENQ NAK % 5 E U e u 0 1 1 0 ACK SYN & 6 F V f v 0 1 1 1 BEL ETB ' 7 G W g w 1 0 0 0 BS CAN ( 8 H X h x 1 0 0 1 HT EM ) 9 I Y i y 1 0 1 0 LF SUB * : J Z j z 1 0 1 1 VT ESC + ; K [ k { 1 1 0 0 FF FS, < L \ l 1 1 0 1 CR GS - = M ] m } 1 1 1 0 SOH RS. > N ^ n ~ 1 1 1 1 SI US /? O _ o DEL kody Przykłady kodowania Kod Grey a Dec Gray Binary 0 000 000 1 001 001 2 011 010 3 010 011 4 110 100 5 111 101 6 101 110 7 100 111 Kod RGB architektura komputerów w 1 4
Inne kody EBCDIC na 8 bitach,kod kart perforowanych, duże systemy IBM TELETEL VIDEOTEX na 7 bitach, minitel, ASCII i znaki graficzne ANSI (American National Standard Institute) na 8 bitach, używany w DOS i Windows 3 - ASCII + strony kodowe krajowe (français = page no 437) ISO 8859-1 (latin1) na 8 bitach, ASCII + znaki europejskie, Windows 95, Unix, Internet (HTML)!"#$%& ()*+,-./0123456789:;<=>?@ ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ abcdefghijklmnopqrstuvwxyz{ } ª«±²³ µ ¹º»¼½¾ ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ ØÙÚÛÜÝÞß àáâãäåæçèéêëìíîïðñòóôõö øùúûüýþÿ Kody korekcyjne Unikod uniwersalny wersja 4.0.0 z września 2003 definiuje 96248 znaków znak posiada nazwę i numer (liczbę szesnastkową), zapisywany jest w postaci U+0000. Nie definiuje postaci graficznej. kody zgrupowane sa w 16 warstw po 65536 numerów kazda warstwa 0 zawiera znaki niemal wszystkich współczesnych alfabetów Początkowe 127 znaków warstwy 0 jest identyczne z kodem ASCII warstwa 1 zawiera m. in. symbole matematyczne i muzyczne przykłady U+0035 DIDGIT FIVE (cyfra 5) U+0067 LATIN SMALL LETTER G (g) (א) U+05D0 HEBREW LETTER ALEF U+264F SCORPIUS (znak zodiaku skorpion) architektura komputerów w 1 5
Reprezentacja danych Informacja w komputerze reprezentowana jest w postaci ciągów elementarnych jednostek zwanych bitami o długości i strukturze odpowiedniej dla jej typu. Reprezentacja jest kwestią umowy. Typy skalarne takie jak znaki - reprezentowane są przez umowny kod. Sposób kodowania alfabetu polskiego określa norma PN-91/T-42115 (ISO 8859-2) wartości logiczne - reprezentowane są dwuwartościowo, przez stan co najmniej jednego bitu przy czym prawdzie (True) odpowiada 1, fałszowi (False) - 0 liczby naturalne - w kodzie dwójkowym całkowite - w kodzie uzupełnieniowym dziesiętne - w kodzie dwójkowo-dziesiętnym rzeczywiste - jako liczby stało lub zmiennoprzecinkowe Reprezentacja liczb Systemy pozycyjne architektura komputerów w 1 6
Systemy pozycyjne Definicja System pozycyjny definiuje wektor wag W={w k-1,...,w 1,w 0,...,w -m } odpowiadający poszczególnym pozycjom liczby i określony dla każdej pozycji zbiór dozwolonych cyfr D i ={d i p-1,...,di 1,di 0 }. W systemie pozycyjnym wartością liczby X= {x k-1,...,x 1,x 0,...,x -m } gdzie x i D i jest X=X. W. W systemie stałobazowym każda waga w i jest potęgą stałej całkowitej >=2 zwanej podstawą (bazą) sytemu. Wartość liczby w systemie stałobazowym oblicza się ze wzoru X = x i i Systemy pozycyjne system dwójkowy jest systemem stałobazowym. Zbiór liczb dozwolonych jest dwuelementowy D={0,1}. Wektor wag W={ 2 3,2 2,2 1,2,1, 2-1,2-2,2-2 } przykład: 10110.1 = 1*2 4 + 0*2 3 +1*2 2 + 1*2 1 + 0*2 0 +1*2-1 system dziesiętny jest systemem stałobazowym. Zbiór liczb dozwolonych jest dziesięcioelementowy D={0,1,2,3,4,5,6,7,8,9}. Wektor wag W={ 10 3,10 2,10 1,10,1, 10-1,10-2,10-2 } przykład: 83678,15 = 8*10 4 + 3*10 3 +6*10 2 + 7*10 1 + 8*10 0 +1*10-1 + 5*10-2 architektura komputerów w 1 7
Systemy pozycyjne =16 - system szestnastkowy. D={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} AF013.1 = 10*16 4 + 15*16 3 +0*16 2 + 1*16 1 + 3*16 0 +1*16-1 Systemy pozycyjne Zamiana z sytemu dziesiętnego na dwójkowy 3487 1 177 1 177=10110001 1743 1 88 0 871 1 44 0 435 1 22 0 217 1 11 1 108 0 5 1 54 0 2 0 27 1 1 1 13 1 6 0 3 1 1 1 architektura komputerów w 1 8
Systemy pozycyjne Zamiana z sytemu dziesiętnego na dwójkowy 0,56 0, Systemy pozycyjne Zamiana z sytemu dziesiętnego na dwójkowy 0,56 0,,12 1,24 0,48 0,96 0,92 1,84 1,68 1,36 1,72 0,44 1,88 0,76 1,52 1 architektura komputerów w 1 9
Systemy pozycyjne Zamiana z sytemu dziesiętnego na dwójkowy 0,56 0, =0,1000111101011,12 1,24 0,48 0,96 0,92 1,84 1,68 1,36 1,72 0,44 1,88 0,76 1,52 1 Systemy pozycyjne Zamiana z sytemu dziesiętnego na dwójkowy 0,56 0, =0,1000111101011 0,3125 0,,12 1,24 0,48 0,96 0,92 1,84 1,68 1,36 1,72 0,44 1,88 0,76 1,52 1 architektura komputerów w 1 10
Systemy pozycyjne Zamiana z sytemu dziesiętnego na dwójkowy 0,56 0, =0,1000111101011 0,3125 0,,12 1,625 0,24 0,25 1,48 0,5 0,96 0,0 1,92 1,84 1,68 1,36 1,72 0,44 1,88 0,76 1,52 1 Systemy pozycyjne Zamiana z sytemu dziesiętnego na dwójkowy 0,56 0, =0,1000111101011 0,3125 0, =0,0101,12 1,625 0,24 0,25 1,48 0,5 0,96 0,0 1,92 1,84 1,68 1,36 1,72 0,44 1,88 0,76 1,52 1 architektura komputerów w 1 11
Systemy pozycyjne - system dwójkowo-dziesiętny Każda cyfra liczby dziesiętnej reprezentowana jest przez jej odpowiednik binarny na 4 pozycjach bitowych, np. 0101 1001 0011 0000,1000 = 5930,8 10 5 9 3 0, 8 operacje arytmetyczne odbywają się z zachowaniem reguł arytmetyki dziesiętnej Systemy pozycyjne Zamiana z sytemu dwójkowego na szesnastkowy 1001 1111 0100 1010 1111 = 9F4AF 9 F 4 A F Zamiana z sytemu szesnastkowego na dwójkowy 10AC85 = 1 0000 1010 1100 1000 0101 architektura komputerów w 1 12
Systemy pozycyjne - dodawanie w systemie dwójkowym 100101001001110010101 100111101000001000 Systemy pozycyjne - dodawanie w systemie dwójkowym 100101001001110010101 100111101000001000 architektura komputerów w 1 13
Systemy pozycyjne - dodawanie w systemie dwójkowym 100101001001110010101 100111101000001000 1 Systemy pozycyjne - dodawanie w systemie dwójkowym 100101001001110010101 100111101000001000 01 architektura komputerów w 1 14
Systemy pozycyjne - dodawanie w systemie dwójkowym 100101011001110010101 100111101000001000 101010010110110011101 reprezentacja liczb Liczby naturalne są w sposób przedstawiony na poprzednich slajdach zakres liczb możliwy do zapisania na n bitach jest równy [0,2 n -1] architektura komputerów w 1 15
reprezentacja liczb Liczby całkowite reprezentacja liczb Liczby naturalne są w sposób przedstawiony na poprzednich slajdach zakres liczb możliwy do zapisania na n bitach jest równy [0,2 n -1] Liczby całkowite (dodatnie i ujemne) są reprezentowane na 3 sposoby: sposób1. Kodowanie znaku i modułu. W systemie tym skrajny lewy bit reprezentuje znak liczby, pozostałe wartość modułu liczby Przykład: 1 00000101 ma wartość -5 0 00000101 ma wartość 5 zakres liczb możliwy do zapisania na n bitach = [-2 n-1-1,2 n-1-1] istnieją dwie reprezentacje zera (+0 i -0) realizacja działań arytmetycznych jest skomplikowana. architektura komputerów w 1 16
reprezentacja liczb sposób2. Metoda uzupełnień do jedynki. reguła tworzenia reprezentacji n-bitowej jest następująca: x dla x>=0 X= { 2 n - 1 + x dla x <=0 Jeżeli x jest pewną liczbą dwójkową dodatnią to kod U1 liczby -x (ujemnej) tworzy się poprzez zanegowanie wszystkich pozycji liczby x. przykład: 127 = 01111111-127 = 10000000 zakres liczb możliwy do zapisania na n bitach [-2 n-1 +1,2 n-1-1] występują 2 wartości odpowiadające 0 (ujemna i dodatnia) 00000000 i 111111111 skomplikowana realizacja działań arytmetycznych wymagająca korekty wyniku reprezentacja liczb sposób3. Metoda uzupełnień do dwóch.(kod U2) reguła tworzenia reprezentacji n-bitowej jest następująca: x dla x>=0 X= { 2 n + x dla x <0 przykład: 01111111 = 127 10000001 = -127 W U2 przyjmuje się, że waga skrajnej lewej pozycji n bitowej reprezentacji liczby dwójkowej ma wartość -2 n-1 natomiast pozostałe bity reprezentują liczbę dodatnią z zakresu [0,2 n-1-1]. Wartość liczby dwójkowej przestawionej zgodnie z tą metodą oblicza się ze wzoru n-2 A= -2 n-1 a n-1 + Σ2 i a i gdzie a i jest i-tą pozycja liczby i=0 zakres liczb możliwy do zapisania na n bitach = [-2 n-1,2 n-1-1] Zachowany jest arytmetyczny porządek kodów w całym zakresie liczb. architektura komputerów w 1 17
reprezentacja liczb Metoda zamiany liczby na jej uzupełnienie do 2: liczba dodatnia zapisana w kodzie znak/moduł i w kodzie U2 jest identyczna reprezentacje liczby ujemnej tworzy się na dwa równoważne sposoby: poprzez zanegowanie wszystkich bitów odpowiadającej jej liczby dodatniej począwszy od najstarszego do ostatniej najmniej znaczącej jedynki i pozostawienie jej i zer po niej następujących bez zmian. Przykład (-70) 70 = 01000110 negujemy bity od lewej do najmniej znaczącej jedynki 10111010 poprzez zanegowanie wszystkich bitów odpowiadającej jej liczby dodatniej i do utworzonej liczby dodanie 1. Przykład (-70) 70 = 01000110 negujemy każdy bit 10111001 dodajemy 1 1 10111010 reprezentacja liczb sposób4. Kod przesunięty.(spolaryzowany) reguła tworzenia reprezentacji n-bitowej jest następująca: x =x+k gdzie k jest przesunięciem przykład: (kod +128 ) 127 = 11111111-127 = 00000001 zakres zależy od wartości k. zwykle wartość k jest tak dobierana by zakres był zbliżony do symetrycznego (w przykładzie zakres = [-128,127] kod wykorzystywany do celów specjalnych (np. przedstawienie wykładnika w kodzie zmiennoprzecinkowym) architektura komputerów w 1 18
reprezentacja liczb Konwersja między różnymi długościami bitowymi reprezentacja znak-moduł - bit znaku jest bitem najstarszym. dodatkowe bity uzupełniane są zerami uzupełnienie do 1 i uzupełnienie do 2 - bit znaku zostaje powielony na wszystkie dodatkowe pozycje. Przykład (kod U2): -18 = 11101110 (8bitów) 1111111111101110 (16 bitów). operacje stałoprzecinkowe Operacja dodawania w kodzie znak-moduł wymaga sprawdzenia zgodności znaków i porównania modułów, po czym wykonuje się dodawanie lub odejmowanie modułów dla uzyskania modułu wyniku. Dodatkowo należy obliczyć znak wyniku. Operacja dodawania w kodzie U1 daje od razu poprawy wynik jeżeli nie wystąpiło przeniesienie z pozycji znaku. Jeżeli przeniesienie wystąpiło, wynik trzeba skorygować dodając do niego 1. Operacja dodawania w kodzie U2 daje od razu poprawy wynik. W każdej reprezentacji konieczne jest sprawdzenie, czy wynik mieści się w zakresie. Przekroczenie zakresu nosi nazwę przepełnienia (overflow) i powinno być wykrywane. W kodzie znak-moduł mamy do czynienia z przepełnieniem, jeżeli wystąpi przeniesienie na pozycję znakową. W kodzie U2 przepełnienie występuje, jeżeli wystąpiło przeniesienie tylko na jednej pozycji: na pozycję znakową lub z pozycji znakowej. Jeżeli nie wystąpiło żadne przeniesień lub wystąpiły równocześnie oba wynik jest poprawny. architektura komputerów w 1 19
operacje stałoprzecinkowe Dodawanie w notacji uzupełnienie do 2 daje w wyniku liczbę zapisaną w tej samej notacji będącą wynikiem operacji Przykład (liczby 4 bitowe) -7+5 1001 0101 1110 = -2-2-5 1110 1011 1001 = -7 Przeniesienie na pozycję znakową=1, z pozycji znakowej również 1. Wynik jest poprawny. ale 5+4 0101 0100 1001 = -7 Przeniesienie na pozycję znakową=1, z pozycji znakowej 0. Wynik jest niepoprawny z powodu przepełnienia. operacje stałoprzecinkowe Mnożenie liczb całkowitych wykonywane jest w sposób naturalny. Mnożenie w ten sposób liczb w notacji uzupełnieniowej daje wynik niepoprawny. Jeżeli mnożna i mnożnik są liczbami n bitowymi to iloczyn będzie liczbą 2n bitową 1011 (liczby binarne bez znaku) x 0101 1011 1011 110111 architektura komputerów w 1 20
reprezentacja liczb rzeczywistych Ułamki i temu podobne reprezentacja liczb rzeczywistych Reprezentacja stałoprzecinkowa liczb (o ustalonej dokładności i zakresie). Liczba taka przy ustalonej liczbie r pozycji części ułamkowej może być reprezentowana jako iloczyn liczby całkowitej i stałego współczynnika architektura komputerów w 1 21
reprezentacja liczb rzeczywistych Reprezentacja stałoprzecinkowa - zamiana ułamka dziesiętnego na dwójkowy 0,72 = 0,1011100001... 0,84375 = 0,11011 0,72 0,84375 1,44 1,6875 0,88 1,375 1,76 0,75 1,52 1,5 1,04 1,0 0,08 0,16 0,32 0,64 1,28 reprezentacja liczb rzeczywistych Wielkość błędu powinna być znana i niezależna od wartości biorących udział w obliczeniach. błąd dla kilku liczb w formacie stałoprzecinkowym: 1) 10000000,00000001 1 2) 00000001,00000001 1 3) 00000000,00000001 1 odcięta w wyniku zaokrąglenia wartość = 2-9 = 1/512 = 0.001953125. We wszystkich przypadkach błąd bezwzględny jest identyczny i wynosi j/w. Błąd względny = (błąd bezwzględny/wartość liczby)*100% 1) 2) 3) 0,001953152 100% 0,001526% 128,00390625 0,001953152 100% 0,194552% 1,00390625 0,001953152 100% 50% 0,00390625 architektura komputerów w 1 22
reprezentacja liczb rzeczywistych Reprezentacja zmiennoprzecinkowa Masa elektronu 9,11*10-28 g w tzw. notacji naukowej 9,11E-28 Stała Plancka 6,63*10-34 J.s Ładunek elektronu 1,6022*10-19 reprezentacja liczb rzeczywistych Reprezentacja zmiennoprzecinkowa Służy do zapisu liczb rzeczywistych z ustalonym błędem: L=M*N E M mantysa, [0.1, 1) N podstawa systemu zgodnie z zapisem pozycyjnym E cecha czyli wykładnik potęgi tak przesuwa przecinek, aby utworzyć mantysę zgodnie z definicja, np.. 2340,23 = 0,234023*10 4 Cecha = 4 2,7363 = 0,27363*10 1 Cecha = 1 0,15934 = 0,15934*10 0 Cecha = 0 0,000243 = 0,243*10-3 Cecha = -3 architektura komputerów w 1 23
reprezentacja liczb rzeczywistych Reprezentacja zmiennoprzecinkowa liczba rzeczywista może być przedstawiona przez trójkę : znak (z - liczba o wartości 1 reprezentującej - lub 0 reprezentującej +), cechę (c -wykładnik potęgi) i mantysę ( m - z założenia ułamek) X= (-1) z m* c mantysę gdzie m jest mantysą a c cechą znak cecha Mantysa Przykład. 1101101111 = 11011011,11 x2 2 = 1,101101111 x2 9 = 0,1101101111 x2 10 - reprezentacja zgodna z powyższą definicją to z = 0, m = 0,1101101111, c = 1010 jest podstawą systemu liczenia. Zwykle 2 (w IBM system370-16) w celu zwiększenia dokładności liczby są normalizowane. W ten sposób zawsze spełniona jest nierówność -1 <= m <1 reprezentacja liczb rzeczywistych Normalizacja w celu zwiększenia dokładności liczby są normalizowane. Przykład. 11110011,01001101 = 0,0001111001101001101 *2 11 0,01111001101001101 *2 9 0,1111001101001101 *2 8 0,1111001101001101 *2 8 0,1111001101001101 *2 8 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 architektura komputerów w 1 24
reprezentacja liczb rzeczywistych Reprezentacja zmiennoprzecinkowa - dokładność. 0 Liczby zmiennoprzecinkowe (znormalizowane) nie są rozłożone równomiernie na osi liczbowej. Odstęp pomiędzy poszczególnymi wartościami rośnie dwukrotnie wraz ze wzrostem wartości cechy (wykładnika) o 1. + Normalizacja oznacza, że dla danego systemu przedstawienia zmiennoprzecinkowego (chodzi o ilość bitów przeznaczonych na mantysę oraz cechę) istnieje największa znormalizowana liczba ujemna i najmniejsza znormalizowana liczba dodatnia. Obszar pomiędzy tymi dwoma wartościami na osi liczbowej nosi nazwę niedomiaru (underflow) zmiennoprzecinkowego. Liczby wewnątrz tego obszaru mogą być przedstawione jako liczby nieznormalizowane. Pozostaje jednak obszar liczb ułamkowych wokół zera niereprezentowalny w systemie zmiennoprzecinkowym. 0 - + Nadmiar zmiennopozycyjny niedomiar Nadmiar zmiennopozycyjny Stardard IEEE754 Znak (S) 30 Wykładnik (E) 23 22 Mantysa (F) 0 (-1) S * (1.0+F) * 2 E Przykład. 11110011,01001101 = 0,0001111001101001101 *2 11 0,01111001101001101 *2 9 0,1111001101001101 *2 8 1,111001101001101 *2 7 1,111001101001101 *2 7 architektura komputerów w 1 25
Stardard IEEE754 Znak (S) 30 Wykładnik (E) 23 22 Mantysa (F) 0 (-1) S * (1.0+F) * 2 E Zakresy: liczby ujemne od -(1-2 -24 )*2 127 do -0,5*2-128 liczby dodatnie od 0,5*2-128 do (1-2 -24 )*2 127 8 bitowa cecha (wykładnik) w kodzie binarnym przesuniętym 23 bitowa mantysa mantysa jest znormalizowana, w postaci znormalizowanej najstarszy bit = 1 zatem nie musi i nie jest przechowywany. Tym samym na 23 bitowym polu przeznaczonym na mantysę zapamiętana jest liczba 24 bitowa. Oznacza to jednak niemożność zapisania zera. Zero reprezentowane jest umownie poprzez liczbę o F=0 i E= 0. Stardard IEEE754 Znak (S) 30 Wykładnik (E) 23 22 Mantysa (F) 0 (-1) S * (1.0+F) * 2 (E-127) 8 bitowa cecha (wykładnik) w kodzie binarnym przesuniętym Przesunięcie (bias) wynosi 127 Wartość rzeczywistą wykładnika oblicza się jako E - bias architektura komputerów w 1 26
Stardard IEEE754 -przykład Znak (S) 30 Wykładnik (E) 23 22 Mantysa (F) 0 Przedstawić 0.3125 10 = 5/16 5/16 = 1/4 + 1/16 = 0.0101 2 = 1.01*2-2 S = 0 E =??? Wykładnik = -2 E= wykładnik+127 = E-bias E = 125 10 = 0111 1101 2 Mantysa = 010. 000 Ostatecznie 0 0111 1101 010000...000 Stardard IEEE754 -przykład Znak (S) 30 Wykładnik (E) 23 22 Mantysa (F) 0 Ile to jest 0 0111 1101 010000...000 S = 0 liczba jest dodatnia E = 0111 1101 = 125 10 wykładnik= E-bias = 125-127 = -2 Mantysa = 1/4 Ostatecznie (-1) S (1+F)2 E-bias = (1 + 1/4)*(1/4) = 5/16 architektura komputerów w 1 27
reprezentacja liczb rzeczywistych W większości jednostek zmiennoprzecinkowych implementowany jest standard IEEE754 Znak (s) Wykładnik (e) Mantysa (f) Liczby zmiennoprzecinkowe reprezentowane są zgodnie z nim w 4 formatach: SINGLE (32bity) SINGLE EXTENDED DOUBLE (64bity) DOUBLE EXTENDED (128 bitów) reprezentacja liczb rzeczywistych W większości jednostek zmiennoprzecinkowych implementowany jest standard IEEE754 Znak (s) Wykładnik (e) Mantysa (f) 1 8 23 Słowo może przedstawiać: Liczbę znormalizowaną Liczbę nieznormalizowaną zero e m 0, e 255 Nieskończoność nieliczbe M s e 1 2 s 1 2 127 e (1. f ) e m e M e e (0. f ) e em, f 0 e em, f 0 e e, f 0 126 M m, f 0 architektura komputerów w 1 28
reprezentacja liczb rzeczywistych standard IEEE754 w architekturze IA-32 Short real (32b) s e f 1 8 23 Long real (64b) s e f 1 11 52 Temporary real (80b) (liczby nieznormalizowane) s e 1 f 1 15 1 63 s 1 2 e 16383 ( i. f ) IEEE754 SINGLE Obraz bitowy Wartość 0 < e < 255 (-1) s x 2 e-127 x 1.f (liczby znormalizowane) e = 0; f 0 (przynajmniej 1 bit w f nierówny zero) (-1) s x 2-126 x 0.f (liczby nnieznormalizowane) e = 0; f = 0 (-1)s x 0.0 (zero ze znakiem) s = 0; e = 255; f = 0 + s = 1; e = 255; f = 0 - architektura komputerów w 1 29
IEEE754 SINGLE Obraz bitowy Wartość +0 00000000 0.0-0 80000000-0.0 1 3f800000 1.0 2 40000000 2 Maksymalna liczba 7f7fffff 3.40282347e+38 znormalizowana Minimalna liczba 00800000 1.17549435e-38 znormalizowana (dodatnia) Maksymalna liczba 007fffff 1.17549421e-38 nieznormalizowana Minimalna liczba nieznormalizowana (dodatnia) 00000001 1.40129846e-45 IEEE754 DOUBLE Obraz bitowy Wartość 0 < e < 2047 (-1) s x 2 e-1023 x 1.f (liczba znormalizowana) e = 0; f 0 (przynajmniej 1 bit w f nierówny zero) (-1) s x 2-1022 x 0.f (liczba nieznormalizowana) e = 0; f = 0 (-1)s x 0.0 (zero ze znakiem) s = 0; e = 2047; f = 0 + s = 1; e = 2047; f = 0 - architektura komputerów w 1 30
IEEE754 DOUBLE Obraz bitowy Wartość +0 00000000 00000000 0.0-0 80000000 00000000-0.0 1 3ff00000 00000000 1.0 2 40000000 00000000 2.0 Maksymalna liczba 7fefffff ffffffff 1.7976931348623157e+308 znormalizowana Minimalna liczba 00100000 00000000 2.2250738585072014e-308 znormalizowana (dodatnia) Maksymalna liczba 00ffffff ffffffff 2.2250738585072009e-308 nieznormalizowana Minimalna liczba nieznormalizowana (dodatnia) 00000000 00000001 4.9406564584124654e-324 IEEE754 DOUBLE EXTENDED (SPARC) Obraz bitowy Wartość 0 < e < 32767 (-1) s x 2 e-16383 x 1.f (liczba znormalizowana) e = 0; f 0 (przynajmniej 1 bit w f nierówny zero) (-1) s x 2-16382 x 0.f (liczba nieznormalizowana) e = 0; f = 0 (-1)s x 0.0 (zero ze znakiem) s = 0; e = 32767; f = 0 + s = 1; e = 32767; f = 0 - architektura komputerów w 1 31
IEEE754 DOUBLE EXTENDED (SPARC) Obraz bitowy Wartość +0 00000000 00000000 0.0-0 80000000 00000000-0.0 00000000 00000000 1 3fff00000 00000000 1.0 00000000 00000000 2 40000000 00000000 2.0 00000000 00000000 Maksymalna liczba znormalizowana 7fefffff ffffffff ffffffff ffffffff 1.1897314953572317650857593 266280070e+4932 Minimalna liczba znormalizowana 00010000 00000000 00000000 00000000 3.3621031431120935062626778 173217526e-4932 (dodatnia) Maksymalna liczba nieznormalizowana 00ffffff ffffffff ffffffff ffffffff 3.3621031431120935062626778 173217520e-4932 Minimalna liczba nieznormalizowana (dodatnia) 00000000 00000000 00000000 00000001 6.4751751194380251109244389 582276466e-4966 reprezentacja liczb rzeczywistych w mc Odra1003/1013 zarówno mantysa jak i cecha były kodowane w U2. Mantysa na 32 bitach, cecha na 7 przykładowe dokładności i zakresy obliczeń IBM 370. Podstawą systemu jest 16!. Rozmiar pola Wartości graniczne Dokładn ość (cyfr 10) Format L C m -LM -Lm Lm LM krótki 32 7 24 7,2*10 75 5,4*10-79 5,4*10-79 7,2*10 75 7 Długi 64 7 56 7,2*10 75 5,4*10-79 5,4*10-79 7,2*10 75 17 rozszerz ony 128 7 112 7,2*10 75 5,4*10-79 5,4*10-79 7,2*10 75 34 architektura komputerów w 1 32