ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Podobne dokumenty
ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

ARCHITEKTURA KOMPUTERÓW Systemy liczbowe

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

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

Pracownia Komputerowa wykład VI

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

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

Pracownia Komputerowa wyk ad VI

Pracownia Komputerowa wykład V

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

Systemy zapisu liczb.

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

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Arytmetyka stało i zmiennoprzecinkowa

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

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

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

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

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

Metoda znak-moduł (ZM)

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

Stan wysoki (H) i stan niski (L)

System Liczbowe. Szesnastkowy ( heksadecymalny)

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

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

1.1. Pozycyjne systemy liczbowe

Pracownia Komputerowa wyk ad V

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

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

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

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Architektura komputerów

LICZBY ZMIENNOPRZECINKOWE

SYSTEMY LICZBOWE 275,538 =

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

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

Wykład 2. Informatyka Stosowana. 10 października Informatyka Stosowana Wykład 2 10 października / 42

Wykład 2. Informatyka Stosowana. 9 października Informatyka Stosowana Wykład 2 9 października / 42

Kod U2 Opracował: Andrzej Nowak

1. Operacje logiczne A B A OR B

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

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

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

Arytmetyka binarna - wykład 6

Technologie Informacyjne

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

Teoretyczne Podstawy Informatyki

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

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

Pracownia komputerowa. Dariusz Wardecki, wyk. VI

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

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

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

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

Architektura komputerów

Techniki multimedialne

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

L6.1 Systemy liczenia stosowane w informatyce

LICZBY ZMIENNOPRZECINKOWE

Operacje arytmetyczne

Pracownia Komputerowa wykład IV

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

Pozycyjny system liczbowy

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

Architektura komputerów

Wprowadzenie do informatyki - ć wiczenia

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

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

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

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

Wprowadzenie do informatyki - ć wiczenia

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

Zapis liczb binarnych ze znakiem

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

Arytmetyka. Arytmetyka. Magdalena Lemańska. Magdalena Lemańska,

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

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

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

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

Pracownia Komputerowa wyk ad IV

Naturalny kod binarny (NKB)

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

B.B. 2. Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:

Algorytmy i struktury danych

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

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

Systemy liczenia. 333= 3*100+3*10+3*1

Wstęp do informatyki- wykład 2

MNOŻENIE W SYSTEMACH UZUPEŁNIENIOWYCH PEŁNYCH (algorytm uniwersalny)

9 10 = U1. Przykład dla liczby dziesiętnej ( 9): negacja 1001= =10110 U1. Podsumowując: w zapisie dziesiętnym

Podstawy Informatyki dla Nauczyciela

Arytmetyka liczb binarnych

Technologie Informacyjne Wykład 4

Temat: Pojęcie potęgi i wykładniczy zapis liczb. Część I Potęga o wykładniku naturalnym

architektura komputerów w. 2

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Transkrypt:

ARCHITEKTURA KOMPUTERÓW 17.11.2010 Liczby zmiennoprzecinkowe Sprawa bardzo podobna jak w systemie dziesiętnym po przecinku mamy kolejno 10-tki do ujemnych potęg, a w systemie binarnym mamy 2-ki w ujemnych potęgach. Przykład dziesiętny: Liczba dziesiętna 9 5, 3 2 1 Kolejne potęgi 10 2 5 10 1 3 10 1 2 10 2 1 10 3 Kolejne ułamki 90 5 0,3 0,02 0,001 Przykład binarny: Liczba binarna 0, 1 1 1 1 1 Kolejne potęgi 0 2 1 1 2 1 1 2 2 1 2 3 1 2 4 1 2 5 Kolejne ułamki 0 0,5 0,25 0,125 0,0625 0,03125 Przekształcenie liczby zmiennoprzecinkowej dziesiętnej do liczby binarnej Podobnie jak w przekształceniu zwykłej liczby dziesiętnej na binarną z tą różnicą, że należy mnożyć liczbę i jeśli przekroczy wartość 1 to w słupku z prawej wpisujemy 1, a w słupku z lewej liczbę pomnożoną z odjętą 1-ką, a w przypadku nieprzekroczenia 1-ki w słupku po prawej piszemy zero, a po lewej wymnożoną liczbę. I tak aż otrzymamy w wyniku mnożenia 1,0 wtedy z prawej wstawiamy 1 i kończymy mnożenie. Ale liczby zmiennoprzecinkowe dziesiętne nie odpowiadają idealnie liczbą zmiennoprzecinkowym binarnym, czyli możemy sobie mnożyć i mnożyć w nieskończoność i nigdy nie uzyskamy 1,0 ale jest na to metoda.

0,05 0 0,1 0 0,2 0 0,4 0 0,8 1 0,6 1 0,2 Jak widzimy na przykładzie mnożymy aż liczba zaczyna się zapętlać w tym przypadku liczba 0,2, wtedy mamy liczbę w okresie czyli liczby w tym przypadku 0,2 do 0,6 gdyż mnożąc dalej będziemy mieć te same liczby. W tym przypadku w okresie będzie wartość 0011. Licząc tą metodą otrzymamy tylko wartość po przecinku więc musimy dodatkowo przeliczyć liczbę przed przecinkiem w tym przypadku 0. Wynik czytamy od góry. Ostatecznie w wyniku otrzymamy: 0,5 DEC =0,00 0011 BIN Ogólna budowa liczby zmiennoprzecinkowej Poprzedni przykład nie podał poprawnego wyniku tylko jak by to powiedzieć pseudo wynik. Zapisując wynik liczby zmiennoprzecinkowej należy pamiętać o paru danych czyli: ZNAK, CECHA i MANTYSA. Liczba dziesiętna: 1000000000 DEC 1,0 DEC 10 9 0,000000001 DEC 1,0 DEC 10 9 + - 1,0. 10-9 cecha znak mantysa

Liczba binarna: 1010110,101 BIN 1,010110101 BIN 2 6 + - 1,010110101. 2 4 cecha znak mantysa W przypadku liczb binarnych 1 przed przecinkiem nie jest brana jako element mantysy gdyż zawsze przed przecinkiem będzie 1. Do zapisywania liczb zmiennoprzecinkowych służą dwa systemu: single (float), double. SINGLE 1 bit 8 bitów kod spolaryzowany 23bity znak modu cecha mantysa Przykład: zapisania liczby dziesiętnej w postaci SINGLE 22,2 DEC 0,2 0 obliczamy naszą część ułamkową 0,4 0 0,8 1 0,6 1 0,2 22 DEC =10110 BIN następnie przeliczamy część całkowitą 10110, 0011 BIN następnie składamy część całkowitą z częścią ułamkową 1,0110 0011 BIN 2 4 przesuwamy przecinek na miejsce z 1 która znajduje się na najstarszej pozycji i zliczamy ilość miejsc o ile został przesunięty przecinek i liczba ta będzie cechą naszej liczby tutaj 4

4 127=131 przeliczamy cechę na kod spolaryzowany 131 DEC =10000011 SPOL cecha musi się składać z 8 bitów 0110 0011 BIN odcinamy JEDYNKE sprzed przecinka wraz z przecinkiem i otrzymujemy mantysę 0 BIN ustalamy wartość bitu znaku w tym przypadku + czyli 0 Na koniec składamy wszystko do kupy 0 10000011 0110(0011) 0100000110110 0011 BIN otrzymujemy liczbę binarną zmiennoprzecinkową rozpisujemy liczbę w okresie tyle razy aby zapełnić przynajmniej 32 bity 010000011011000110011001100110011 BIN liczbę dzielimy na grupki po 4 znaki 0100 0001 1011 0001 1001 1001 1001 1001 1 w przypadku gdy za 32 bitem znajduje się 1 to dodajemy ją do ostatniej grupki i otrzymujemy 32 bitowy wynik, gry mamy 0 nie obcinamy je bo nie wpływają na wynik 0100 0001 1011 0001 1001 1001 1001 1010 przekształcamy grupki na kod szesnastkowy i otrzymujemy wynik: 41B1999A HEX = 22,2 DEC Przykład: zapisanie liczby SINGLE w postaci dziesiętnej =0100000010101000000000000000000 BIN przekształcamy HEX na BIN 0100000010101 BIN obcinamy zbędne ZERA 0 10000001 0101 dzielimy liczbę wyznaczając ZNAK, CECHĘ i MANTYSĘ

10000001 BIN 129 127=2 wyznaczamy wartość cechy 1,0101 BIN dodajemy przed mantysę 1 i przecinek 1,0101 BIN 2 2 =101,01 BIN przesuwamy przecinek o odpowiednią ilość miejsc 101 BIN =5 DEC przeliczamy odpowiednio część całkowitą i ułamkową na 0,01 BIN =0,25 DEC system dziesiętny 5 DEC 0,25 DEC =5,25 DEC dodajemy liczby i otrzymujemy wynik = 5,25 DEC 0 00000000000000000000000000000000 BIN NaN 10000000000000000000000000000000 BIN Inf 01111111111111111111111111111111 BIN Inf 11111111111111111111111111111111 BIN DOUBLE 1 bit 11 bitów kod spolaryzowany 52bity znak modu cecha mantysa 11 bitowy kod spolaryzowany to polaryzacja 1023 zamiast 127 jak w kodzie 8 bitowym Obliczanie wygląda tak jak w SINGLE z tym że cecha musi się składać z 11 bitów a nie z 8, a mantysa z 52 bitów a nie 23.