Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Podobne dokumenty
Podstawy Informatyki

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Pracownia Komputerowa wykład VI

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Teoretyczne Podstawy Informatyki

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Arytmetyka stało- i zmiennoprzecinkowa. 1. Informacje wstępne

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Technologie Informacyjne

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Pozycyjny system liczbowy

Pracownia Komputerowa wyk ad VI

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Pracownia Komputerowa wykład IV

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Pracownia Komputerowa wykład V

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

LICZBY ZMIENNOPRZECINKOWE

Pracownia komputerowa. Dariusz Wardecki, wyk. VI

Architektura komputerów

architektura komputerów w. 2

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Zapis liczb binarnych ze znakiem

Architektura komputerów

Wprowadzenie do informatyki - ć wiczenia

Naturalny kod binarny (NKB)

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Informatyka 1. Wykład nr 5 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Pracownia Komputerowa wyk ad IV

Arytmetyka binarna - wykład 6

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura

W jaki sposób użyć tych n bitów do reprezentacji liczb całkowitych

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Dodatek do Wykładu 01: Kodowanie liczb w komputerze

Systemy zapisu liczb.

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

Wstęp do informatyki- wykład 1 Systemy liczbowe

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Stan wysoki (H) i stan niski (L)

Metody numeryczne II. Reprezentacja liczb

SYSTEMY LICZBOWE 275,538 =

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Wprowadzenie do informatyki - ć wiczenia

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Wstęp do informatyki- wykład 1 Systemy liczbowe

Adam Korzeniewski p Katedra Systemów Multimedialnych

Metoda znak-moduł (ZM)

Adam Korzeniewski p Katedra Systemów Multimedialnych

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy Informatyki

Arytmetyka stało i zmiennoprzecinkowa

1.1. Pozycyjne systemy liczbowe

Wstęp do Informatyki

Technologie Informacyjne Wykład 4

LICZBY ZMIENNOPRZECINKOWE

Informatyka 1. Wykład nr 4 ( ) Plan wykładu nr 4. Politechnika Białostocka. - Wydział Elektryczny

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

dr inż. Jarosław Forenc

Arytmetyka liczb binarnych

Jednostki informacji - bit. Kodowanie znaków: ASCII, ISO 8859, Unicode liczb: NKB (BCN), U2, BCD. Liczby zmiennoprzecinkowe standard IEEE 754

Kod U2 Opracował: Andrzej Nowak

Kodowanie liczb. Reprezentacja liczb całkowitych. Standard IEEE 754. dr inż. Jarosław Forenc

Architektura systemów komputerowych

L6.1 Systemy liczenia stosowane w informatyce

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Techniki multimedialne

Architektura komputerów

Obliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

Informatyka 1. Wykład nr 4 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

Pracownia Komputerowa wyk ad V

Dokładność obliczeń numerycznych

1259 (10) = 1 * * * * 100 = 1 * * * *1

Materiały laboratoryjne. Kodowanie i liczby. dr inż. Zbigniew Zakrzewski. Z.Z. Podstawy informatyki

Wstęp do informatyki- wykład 2

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Transkrypt:

Reprezentacja liczb rzeczywistych w komputerze. Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci: k = m * 2 c gdzie: m częśd ułamkowa, mantysa (fraction) c wykładnik, cecha (exponent) Zakres takiej reprezentacji liczb zależy od liczby cyfr wykładnika, a dokładnośd od liczby cyfr mantysy. Reprezentacja 32-bitowa (1+8+23, nadmiar 128) Rozważmy następujący format liczby zmiennopozycyjnej zapisanej binarnie na 4 bajtach (32 bitach): znak wykładnik Mantysa 1bit 8 bitów 23 bity Znak - Pierwszy bit jest bitem znaku; 0 liczba dodatnia; 1 liczba ujemna Mantysa - Liczby są znormalizowane, co oznacza, że wartośd dziesiętna mantysy (m) spełnia warunek: 0.5<= m <1. Zatem pierwszy bit mantysy zapisanej dwójkowo ma wartośd 1. Jeśli tak jest dla każdej liczby, nie musi on byd przechowywany w reprezentacji, dzięki czemu uzyskuje się większą dokładnośd (24 bity zamiast 23). Zakres mantysy to <0.5; 1-2 -24 >. Mantysa wypełniona 0 odpowiada liczbie dwójkowej 0.1, a dziesiętnej 0.5, natomiast mantysa wypełniona samymi 1 odpowiada liczbie dwójkowej 0.11111 1 (24 pozycje o wartości 1 ), czyli dziesiętnie 1-2 -24 Wykładnik jest dodatni; stosuje się kod z nadmiarem 128 - do rzeczywistej wartości wykładnika liczby dodawane jest 128. Zakres wykładnika to <-128; 127>. Wykładnik 00000000 oznacza wartośd -128, natomiast 11111111 to wartośd 255-128, czyli 127. Liczby zmiennopozycyjne nie tworzą continuum, lecz są skooczonymi zbiorami. Przy pomocy reprezentacji 32-bitowej jesteśmy w stanie zapisad 232 różnych liczb, których wartości rozłożone są na osi liczbowej nierównomiernie w dwóch przedziałach: <-(1-2 -24 ) * 2 127 ; -0.5 * 2-128 > i <0.5 * 2-128 ; (1-2 -24 ) * 2 127 > czyli <-(1-2 -24 ) * 2 127 ; -2-129 > i < 2-129 ; (1-2 -24 ) * 2 127 > Pozostałe obszary na osi liczbowej nie dadzą się przedstawid za pomocą tej reprezentacji. Są to przepełnienie (nadmiar) ujemny, niedomiar ujemny, wartośd 0, niedomiar dodatni oraz przepełnienie dodatnie. Za pomocą takiej reprezentacji nie można zapisad zera. Liczby najbliższe wartości 0 to -2-129 i 2-129.

Zapiszmy liczbę -215.67 w przedstawionym powyżej formacie (na 32 bitach, wykładnik z nadmiarem 128). 1. Należy zapisad wartośd bezwzględną, czyli liczbę 215.67 w systemie binarnym Częśd całkowita: 215 10 = 128 10 + 64 10 + 16 10 + 4 10 + 2 10 + 1 10 = 11010111 2 Częśd ułamkowa: 0.67 0 1.34 1 0.68 0 1.36 1 0.72 0 1.44 1 0.88 0 1.76 1 1.52 1 1.08 1 0.16 0 0.32 0 0.68 0 dalej ułamek okresowy 0.67 = 0.10101011100(0101011100).. Cała liczba: 11010111.101010111000101011100 2 2. Normalizacja liczby: 11010111.101010111000101011100 2 = 0.11010111101010111000101011100 2 * 2 8 3. Znak --- 1 4. Wykładnik = 8 + 128 --- 10001000 2 5. Mantysa --- 23 cyfry znaczące bez pierwszej 1 --- 10101111010101110001010 6. Pełna reprezentacja liczby 1 10001000 10101111010101110001010 Przykład Co to za liczba: 00100100000000001000000000000000 1. Wydzielamy znak, wykładnik i mantysę Znak 0 -- liczba dodatnia Wykładnik 01001000 = (8 + 64) 10 = 74 10 Rzeczywista dziesiętna wartośd wykładnika = 74 128 =-54 Mantysa - 00000001000000000000000 Ułamek uzupełniamy 1 po kropce----- 0.100000001000000000000000 2. Liczba = 0.100000001000000000000000 * 2-54 = 0.00000 (54 0 )..100000001 2-55

Reprezentacja 16-bitowa (1+5+10, nadmiar 16) W reprezentacji na 16 bitach wykładnik zajmuje 5 bitów i jest z nadmiarem 16, natomiast mantysa jest zapisana na 10 bitach z pominięciem pierwszej 1 po kropce dwójkowej. Zapisz liczbę 0.5 w tej reprezentacji. 1. 0.5 10 = 0.1 2 2. 0.1 jest liczbą znormalizowaną 3. Znak ---- 0 4. Wykładnik --- 0 + 16 ---- 10000 5. Mantysa bez pierwszej 1 --- 0000000000 6. Liczba: 0100000000000000 Podaj wartośd dziesiętną liczby zapisanej w tej reprezentacji: 1111111111111111 1. Wydzielamy znak, wykładnik i mantysę Znak 1 -- liczba ujemna Wykładnik 11111 = 31 10 Rzeczywista dziesiętna wartośd wykładnika = 31 16 =15 Mantysa - 1111111111 Ułamek uzupełniamy 1 po kropce----- 0.11111111111 2. Liczba = 0.11111111111 * 2 15 = 111111111110000 2 = 2 14 + 2 13 +.+ 2 5 + 2 4 Reprezentacja 8-bitowa (1+3+4, nadmiar 4) W reprezentacji na 8 bitach wykładnik zajmuje 3 bity i jest z nadmiarem 4, natomiast mantysa jest zapisana na 4 bitach z pominięciem pierwszej 1 po kropce dwójkowej. Najmniejsza dodatnia liczba w tej reprezentacji to 00000000, a jej wartośd dziesiętna to: Znak ---- 0 --- + Wykładnik ---- 000 --- 0-4 = -4 Mantysa ---- 0000 --- po uzupełnieniu ----- 0.1 Liczba ---- 0.1 * 2-4 = 0.00001 2 = 1/32 10 = 0.03125 Największa liczba tej reprezentacji to 01111111, a jej wartośd dziesiętna wynosi: Znak ---- 0 --- + Wykładnik ---- 111 2 = 7 10 ------- 7 4 = 3 Mantysa ---- 0.11111 Liczba ----0.11111 *2 3 = 111.11 --------7.75 10

Standard IEEE-754 Powszechnie stosowana w wielu systemach komputerowych reprezentacja zmiennopozycyjna zdefiniowana została przez IEEE jako standard 754. Określa ona trzy rodzaje liczb zmiennopozycyjnych: 32-bitową pojedynczej precyzji 64-bitową podwójnej precyzji 80-bitową rozszerzonej precyzji Reprezentacja 32-bitowa standard IEEE-754 (1+8+23, nadmiar 127) Liczba złożona jest z bita znaku, 8-bitowego wykładnika i 23-bitowej mantysy. znak wykładnik Mantysa 1bit 8 bitów 23 bity Znak - Pierwszy bit jest bitem znaku; 0 liczba dodatnia; 1 liczba ujemna Mantysa - Liczby są znormalizowane, lecz inaczej niż w reprezentacji 32-bitowej z nadmiarem 128. Wartośd dziesiętna mantysy (m) spełnia warunek: 1<= m <2. Zatem mantysa składa się z 1, kropki binarnej i ułamka, który jest jawnie zapisany na 23 bitach. Zakres mantysy to <1; 2-2 -23 >. Mantysa wypełniona 0 odpowiada liczbie dwójkowej i dziesiętnej 1, natomiast mantysa wypełniona samymi 1 odpowiada liczbie dwójkowej 1.11111 1 (1 całkowite i 23 pozycje ułamkowe o wartości 1 ), czyli dziesiętnie 2-2 -23 Wykładnik jest dodatni; stosuje się kod z nadmiarem 127 (BIAS 127) - do rzeczywistej wartości wykładnika liczby dodawane jest 127. Zakres wykładnika to <-127; 128>. Wykładnik 00000000 oznacza wartośd -127, natomiast 11111111 to wartośd 255-127, czyli 128. Jednak ekstremalne wartości wykładnika, czyli same 0 i same 1 określają wartości specjalne, zatem zakres wykładnika dla zwykłych liczb w tej notacji to <-126; 127>. Zapiszmy liczbę -215.67 (z przykładu dla reprezentacji 1+8+23 z nadmiarem 128). 1. Należy zapisad wartośd bezwzględną, czyli liczbę 215.67 w systemie binarnym (jak w rozważanym przykładzie) 215.67 = 11010111.10101011100(0101011100).. Cała liczba: 11010111.101010111000101011100 2 2. Normalizacja liczby: 11010111.101010111000101011100 2 = 1.1010111101010111000101011100 2 * 2 7 3. Znak --- 1 4. Wykładnik = 7 + 127 = 135 --- 10000110 2 5. Mantysa --- 23 cyfry znaczące ułamka, bez 1 całkowitej --- 10101111010101110001010 Pełna reprezentacja liczby w standardzie IEEE754 1 10000110 10101111010101110001010

Przykład Co to za liczba: 00100100000000001000000000000000 3. Wydzielamy znak, wykładnik i mantysę Znak 0 -- liczba dodatnia Wykładnik 01001000 = (8 + 64) 10 = 74 10 Rzeczywista dziesiętna wartośd wykładnika = 74 127 =-53 Mantysa - 00000001000000000000000 Ułamek uzupełniamy 1 i kropką binarną --- 1.00000001000000000000000 4. Liczba = 1.00000001000000000000000 * 2-53 2-53 Reprezentacja 64-bitowa standard IEEE-754 (1+11+52, nadmiar 1023) W standardzie IEEE754 liczby podwójnej precyzji zapisywane są podobnie do 32-bitowych,ale wykorzystuje się 64 bity. Wykładnik ma 11 bitów i stosuje się nadmiar (BIAS) 1023. Zakres wykładnika dla zwykłych liczb w tej notacji to <-1022; 1023>. Liczby są normalizowane. Mantysa składa się z 1, kropki binarnej i ułamka, który jest jawnie zapisany na 52 bitach. Zakres mantysy to <1; 2-2 -52 >. Mantysa wypełniona 0 odpowiada liczbie dwójkowej i dziesiętnej 1, natomiast mantysa wypełniona samymi 1 odpowiada liczbie dwójkowej 1.11111 1 (1 całkowite i 52 pozycje ułamkowe o wartości 1 ), czyli dziesiętnie 2-2 -52. Zakres dziesiętny dodatnich liczb pojedynczej precyzji w przybliżeniu wynosi <10-38 ; 10 38 >, natomiast liczb podwójnej precyzji <10-308 ; 10 308 >.