1. Reprezentacja danych w komputerze



Podobne dokumenty
Pracownia Komputerowa wykład IV

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Systemy zapisu liczb.

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

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

Pracownia Komputerowa wyk ad VII

Architektura systemów komputerowych

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

1.1. Pozycyjne systemy liczbowe

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

Pracownia Komputerowa wyk ad IV

Pracownia komputerowa. Dariusz Wardecki, wyk. VIII

PODSTAWY INFORMATYKI. Informatyka? - definicja

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

Podstawy Informatyki

Pracownia Komputerowa wykład V

Technologie Informacyjne

Techniki multimedialne

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

Naturalny kod binarny (NKB)

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

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

Architektura komputerów

Teoretyczne Podstawy Informatyki

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

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

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

Architektura komputerów

Stan wysoki (H) i stan niski (L)

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

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

Pracownia Komputerowa wykład VI

SYSTEMY LICZBOWE 275,538 =

Kodowanie informacji. Przygotował: Ryszard Kijanka

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

Arytmetyka binarna - wykład 6

Arytmetyka komputera

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Kodowanie informacji. Kody liczbowe

Cyfrowy zapis informacji

Pracownia Komputerowa wyk ad V

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

Zapis liczb binarnych ze znakiem

Architektura komputerów

kodowanie informacji Autor prezentacji: 1 prof. dr hab. Maria Hilczer

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

System Liczbowe. Szesnastkowy ( heksadecymalny)

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

DZIESIĘTNY SYSTEM LICZBOWY

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

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

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

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

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

Wstęp do Informatyki

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

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

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

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

architektura komputerów w. 2

Pracownia Komputerowa wyk ad VI

Kodowanie liczb całkowitych w systemach komputerowych

Pozycyjny system liczbowy

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

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

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

Podstawy informatyki. Reprezentacja danych w systemach cyfrowych

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Komunikacja człowiek-komputer

Kod U2 Opracował: Andrzej Nowak

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

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

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

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

Wprowadzenie do informatyki - ć wiczenia

LICZBY ZMIENNOPRZECINKOWE

L6.1 Systemy liczenia stosowane w informatyce

Arytmetyka stało i zmiennoprzecinkowa

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Podstawy Informatyki

Kodowanie informacji. Elementy teorii informacji.

Podstawy Informatyki dla Nauczyciela

Metoda znak-moduł (ZM)

Arytmetyka liczb binarnych

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

Programowanie Niskopoziomowe

Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.

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

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

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

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

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Sposób reprezentacji informacji w systemie. Reprezentacja informacji. Dzięki kodowaniu informacji.

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

Technika Cyfrowa i Mikroprocesorowa

Systemy liczbowe używane w technice komputerowej

Transkrypt:

1. Reprezentacja danych w komputerze 1.1 Sekwencje bitów W komputerze dane reprezentowane s przez sekwencje bitów cyfry liczbowego systemu binarnego. Te sekwencje bitów interpretowane s w terminach wewntrznych typów danych (liczby lub znaki tekstu). 1) Wewntrzne typy danych Typ danych wyznaczony jest przez 2 schematy definicyjne: - dziedzina (zbiór moliwych wartoci) (w komputerze skoczony zbiór); - operacje (które mona wykona na elementach zbioru wartoci). W. Kasprzak: WDI 1-1

Wewntrzne typy danych w komputerze to: - całkowity, ułamkowy (zmienno-przecinkowy), znakowy. Liczby całkowite nale do skoczonego pod-zbioru matematycznego zbioru liczb całkowitych wszystkie operacje na takich danych daj wyniki dokładne (za wyjtkiem przypadku nadmiaru). Róne notacje liczb całkowitych: znak-moduł, U2, U1. Ułamki tworz skoczony podzbiór zbioru liczb rzeczywistych. Operacje na tych liczbach nie zawsze daj wyniki dokładne błdy zaokrglenia (z powodu nadmiaru lub niedomiaru braku precyzji reprezentacji). Ułamki reprezentowane s w postaci zmiennego przecinka. Znaki s skoczonym podzbiorem zbioru liczb całkowitych. W. Kasprzak: WDI 1-2

Liczby rzeczywiste (w matematyce) : - nieskoczony zbiór od - do + ; - nieprzeliczalnie wiele liczb rzeczywistych; - s gsto rozmieszczone na osi liczbowej pomidzy 2 rónymi liczbami rzeczywistymi znajduje si nieskoczenie wiele innych liczb. Ułamki (w komputerze): - istnieje najmniejsza (1) i najwiksza (2) ujemna liczba, i najmniejsza (3) i najwiksza (4) dodatnia liczba i zero (0); - jest ich skoczenie wiele; - nie le ciasno"; midzy 2 liczbami ułamkowymi znajduje si tylko skoczenie wiele innych. W. Kasprzak: WDI 1-3

2) Systemy liczbowe System liczbowy - ogół zasad umoliwiajcych przedstawienie liczb za pomoc umownych znaków. Cyfry - znaki, za pomoc których zapisuje si liczby. Rozróniamy: systemy pozycyjne i systemy nie-pozycyjne. Pozycyjny system liczbowy - znaczenie cyfry jest zalene od miejsca (pozycji), które ona zajmuje w liczbie. Nie-pozycyjny system liczbowy - znaczenie cyfry jest niezalene od miejsca połoenia w liczbie. Przykład 1.1. Pozycyjny system liczbowy to np. powszechnie stosowany system dziesitny. Np. liczba 777 zawiera trzy jednakowe cyfry: 7; kada z nich ma jednak inne znaczenie prawa cyfra zwizana jest z wielkoci 1 (10 0 ), nastpna z lewej z 10 (10 1 ) a kolejna z 100 (10 2 ) itd. W. Kasprzak: WDI 1-4

Nie-pozycyjny system liczbowy to np. system rzymski, którego zasadniczymi znakami s: I = l, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000. Ich interpretacja nie zaley od miejsca w liczbie (cho moe zalee od wzgldnego połoenia wzajemnego, np. IX, XI). 3) Typowe pozycyjne systemy liczbowe Kod binarny - system dwójkowy Podstawa = 2; a i {0, 1}; Liczba n 1 = i= 0 2 i a i ; Liczba 0, 2 n 1 Kod ósemkowy (system oktalny) Podstawa = 8; a i {0, 1, 2, 3, 4, 5, 6, 7}, Liczba n 1 = i= 0 8 i a i ; Liczba 0, 8 n 1 W. Kasprzak: WDI 1-5

Kody dziesitne system dziesitny (decymalny) Podstawa = 10 ; a i {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, Kody szesnastkowe (system heksadecymalny) Podstawa = 16 ; a i {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}, Przykład 1.2. Liczby dziesitne 0, 1, 7, 8, 14, 15 kodowane w systemach: dwójkowym, ósemkowym i szesnastkowym. Liczby w systemie dziesitnym dwójkowym ósemkowym szesnastkowym 0 0000 00 0 1 0001 01 1 7 0111 07 7 8 1000 10 8 14 1110 16 E 15 1111 17 F W. Kasprzak: WDI 1-6

4) System dziesitny kodowany dwójkowo (BCD) W tym systemie tylko cyfry dziesitne s podane w kodzie dwójkowym. Z kodów cyfr składany jest kod liczby (kod dwójkowo-dziesitny). Przykład 1.3. Kilka 4-bitowych kodów dwójkowo-dziesitnych. Kademu bitowi k i przypisana jest okrelona waga (składnik moe by zanegowany). Kody BCD Cyfra dziesitna 8421 2421 84(-2)(-1) 5421 0 0000 0000 0000 0000 1 0001 0001 0111 0001 2 0010 0010 0110 0010 3 0011 0011 0101 0011 4 0100 0100 0100 0100 W. Kasprzak: WDI 1-7

5 0101 1011 1011 1000 6 0110 1100 1010 1001 7 0111 1101 1001 1010 8 1000 1110 1000 1011 9 1001 1111 1111 1100 Zadanie domowe 1.4. Przedstawi liczb dziesitn A = 197 w systemie dziesitnym kodowanym dwójkowo, w kodach (8421), (2421), (84-2-1), (5421): W. Kasprzak: WDI 1-8

5) Reprezentacja binarna w komputerze Znak binarny jest to zmienna przyjmujca tylko dwie wartoci, umownie oznaczone 0 i 1, a nazywane bitami. Wektor znaków binarnych: - 1 elementowy bit - 4 elementowy połowa bajtu - 8 elementowy bajt - 16 elementowy słowo 16 bitowe - 32 elementowy słowo 32 bitowe, itd. Słowo wektor informacji cyfrowej przesyłany midzy pamici operacyjn komputera w jednej operacji czytania lub pisania. Blok wielko wektora informacji cyfrowej, któr mona przesła w ramach operacji zapisu lub odczytu informacji zewntrznej. W. Kasprzak: WDI 1-9

1.2 Kody znakowe (alfanumeryczne) Na kod znakowy (alfanumeryczny) składaj si 2 schematy: - Tablica wartoci znaków - odwzorowanie znaków pisarskich (litery, cyfry, znaki przestankowe, sterujce i inne) na liczby całkowite. - Binarny kod wartoci znaku - reprezentacja liczba całkowitej odpowiadajcej znakowi w postaci 1 bajtu lub sekwencji bajtów. 1) Kod ASCII (American Standard Code for Information Interchange) / ISO 646 8-bitowy kod, w którym słowo informacyjne obejmuje 7 bitów a jeden bit (ósmy) jest bitem kontrolnym - bitem parzystoci. Binarna posta kodu znaku - reprezentacja 128 liczb (kody od 0 do 127) w postaci 1 bajtu. W. Kasprzak: WDI 1-10

Tablica wartoci znaków ASCII 0 31 kody sterujce; 32 47 znaki pomocnicze (,!,+,-,...); 48 57 - cyfry 0 9; 58 64 znaki pomocnicze (:,;,>,=,<,?,@); 65 90 91 96 znaki specjalne; A, B,..., Z; 97 122 123 126 znaki specjalne; a, b,..., z; 127 - DEL. Np. Znak C --> warto dziesitna 67 --> zakodowana w NB 100 0011 i poprzedzona bitem kontrolnym 0 --> ostateczny kod 0 100 0011. W. Kasprzak: WDI 1-11

Binarne kody wartoci znaków W. Kasprzak: WDI 1-12

2) Kod ISO 8859-1 ("Latin-1 Pełne 8 bitów kodu stanowi bity informacyjne. Reprezentacja kodu znakowego w postaci 1 bajtu. Bit MSB (najbardziej znaczcy) dla znaków ASCII wynosi 0 w kodzie ISO8859, a nowe znaki posiadaj MSB równy 1. 3) Unikod ("Unicode") implementacja standardu ISO/IEC 10646. Standard ISO/IEC 10646 definiuje uniwersalny zbiór znaków (UCS - universal character set) bdcy nadzbiorem wszystkich standardowych zbiorów znaków. W. Kasprzak: WDI 1-13

Tablica wartoci w ISO 10646 to 31-bitowy zakres znaków: Standard ISO 10646-1 (z 1993 r.) definiuje m.in. zawarto zbioru BMP - pocztkowy podzakres 16-bitowy obejmujcy 65534 słów kodowych (kody od 0x0000 do 0xFFFD) zwany jest "Basic Multilingual Plane" (BMP); - od 0x0000 do 0x007F - identyczny ze zbiorem ASCII ; - od 0x0000 do 0x00FF - identyczny z ISO 8859-1 ("Latin-1"). Od 0xE000 do 0xF8FF (w BMP) i wykraczajce poza BMP zostały zarezerwowane na przyszło. Cz ISO 10646-2 (dodana w 2001 r.) definiuje kody znaków lecych poza BMP. Kody powyej 16-bitowego BMP przeznaczone s dla specjalistycznych zastosowa, np. staroytnych alfabetów czy notacji naukowych. W. Kasprzak: WDI 1-14

Binarna reprezentacja wartoci znaków Unikodu Schematy UCS-2 i UCS-4 Podstawowe schematy binarnej reprezentacji znaków Unikodu to sekwencje w kodzie NB o 2 lub 4 bajtach (schematy UCS-2 i UCS-4). UCS-4 moe reprezentowa wszystkie znaki Unikodu, podczas gdy UCS-2 - tylko te z zakresu BMP. Jednak zastosowanie UCS-2 (lub UCS-4) w systemie Unix prowadziłoby do istotnych problemów, jako, e wikszo programów w tym systemie oczekuje plików ASCII i nie moe czyta 16(32)-bitowej reprezentacji znaku. Dlatego UCS definiuje te inny sposób odwzorowania kodów znaków na posta sekwencji bajtów - okrelany jako schemat UTF-8. W. Kasprzak: WDI 1-15

Kodowanie UTF-8 (UCS Transformation Format) znaki UCS od U+0000 do U+007F (znaki ASCII) s kodowane w postaci bajtów od 0x00 do 0x7F (zgodne z ASCII); znaki UCS o kodach > U+007F s kodowane przez sekwencj kilku bajtów z bitem najbardziej znaczcym równym 1, co zabezpiecza przed pojedyncz ich interpretacj jako bajtu ASCII; pierwszy bajt takiej sekwencji nie-ascii jest z zakresu od 0xC0 do 0xFD i podaje ilo bajtów nastpnych bajtów kodujcych dany znak; pozostałe bajty tej sekwencji s z zakresu od 0x80 do 0xBF. bajty 0xFE i 0xFF nie s uywane w kodowaniu UTF-8. W. Kasprzak: WDI 1-16

Sekwencje w UTF-8 zalenie od wartoci znaku w Unikodzie: Wartoci w Unikodzie Sekwencje kodujce w UTF-8 U+00000000 - U+0000007F 0xxxxxxx U+00000080 - U+000007FF 110xxxxx 10xxxxxx U+00000800 - U+0000FFFF 1110xxxx 10xxxxxx 10xxxxxx U+00010000 - U+001FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx U+00200000 - U+03FFFFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx U+04000000 - U+7FFFFFFF 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx Pozycje bitowe oznaczone jako xxx s wypełniane binarn reprezentacj kodu znaku, przy czym prawa pozycja x zawiera najmniej znaczcy bit. Liczba jedynek w 1-szym bajcie sekwencji wyznacza liczb bajtów sekwencji. W. Kasprzak: WDI 1-17

Długo sekwencji kodujcej musi by minimalna - liczba nie moe by kodowana w postaci dłuszej sekwencji ni to jest konieczne. Uwaga: Implementacja UTF-8 w Unikodzie ogranicza sekwencj kodujc do 4 bajtów, gdy zakłada si praktyczn uyteczno 21 bitów reprezentacji. Przykład 1.16. Znak w Unikodzie U+00A9 = 1010 1001 (znak "copyright") zostaje zakodowany w UTF-8 jako: 11000010 10101001 = 0xC2 0xA9 a znak U+2260 = 0010 0010 0110 0000 (znak " nierówne") jest kodowany: 11100010 10001001 10100000 = 0xE2 0x89 0xA0 W. Kasprzak: WDI 1-18

1.3 Wewntrzna reprezentacja liczb 1) Kodowanie liczb nieujemnych Wykorzystuje si pozycyjne systemy liczbowe o dodatniej podstawie. Zapis pozycyjny o podstawie r: Podstawa pozycyjnego systemu liczbowego - ilo cyfr wykorzystywanych do przedstawienia liczb w tym systemie. Kod NB ( natural binary ) - zapis pozycyjny o podstawie 2: W. Kasprzak: WDI 1-19

Przykład 1.6 Przekształcanie liczb dziesitnych na dwójkowe (NB): dzieli przez 2, zapisywa reszt z dzielenia, na koniec - przewróci kolumn reszt w prawo. Dodawanie dwóch liczb NB: W. Kasprzak: WDI 1-20

2) Liczby ze znakiem - liczby całkowite dodatnie i ujemne Znaki liczb okrelane s przez jedn z cyfr, w okrelonym miejscu rozwinicia, zwykle najbardziej znaczc. Na ogól przyjmuje ona wartoci: 0 - dla liczb dodatnich, 1 - dla liczb ujemnych. Znak- moduł(zapis modułowy) Dla Dla a a n n = 0 : Liczba = 1: Liczba Znak Modul Znak Modul = = n 1 i= 0 n 1 i= 0 Rozrónia si tu dwa rodzaje zera. Nie stosuje si w przypadku działa arytmetycznych. a a i i 2 2 i i W. Kasprzak: WDI 1-21

Kod uzupełnieniowy do 2 (kod U2) : Najpowszechniej stosowana notacja liczb całkowitych w komputerach doby obecnej. Najbardziej znaczcy bit jest bitem znaku posiada wag ujemn -2 n, gdzie (n+1) jest liczb bitów reprezentacji: Przykład 1.7 Liczba U n 1 n 2 = 2 + i n n a n ai 2 2, 2 1. i= 0 W. Kasprzak: WDI 1-22

Negacja (zmiana znaku) liczb w U2. Obliczenie liczby w U2 o przeciwnym znaku uzupełnienie bitowe i dodanie 1: L U 2 = ( a n, an 1,..., a1, a0 ); LU 2 = ( an, an 1,..., a1, a0 ) + 1. (Uzupełnienie to zmiana wszystkich 0 na 1 i 1 na 0). Istnieje w U2 dogodny zwizek pomidzy 2 liczbami o tej samej wartoci bezwzgldnej s identyczne, jeli czytane od prawej do lewej strony do pierwszej 1, a od tego miejsca s swoimi uzupełnieniami. Przykład 1.8 6 U2 = 0110 --> 01 10-6 U2 = 1010 -> 10 10 Prowadzi to do prostego algorytmu negacji: kopiuj liczb od prawej do lewej włcznie z pierwsza 1, odtd uzupełniaj bity. W. Kasprzak: WDI 1-23

Dodawanie liczb w U2 Tu pojawia si główna zaleta reprezentacji U2: dla dodawania liczb o dowolnym znaku moemy stosowa ten sam algorytm. Przykład 1.9 3 0011 + 2 --> +0010 0101 --> 5-3 1101 + -2 --> +1110 1011 --> -5 7 0111 + -5 --> +1011 0010 --> 2 W. Kasprzak: WDI 1-24

Dla dodawania w U2 stosujemy ten sam algorytm co dla kodu NB, tylko, e wynik jest zawsze tej samej długoci co argumenty dodatkowo pojawiajce si przeniesienie zostaje obcite. Przykład 1.10. Pominicie ostatniego przeniesienia nie wpływa na poprawno czy błd wyniku dodawania liczb w U2: OK! OK! Wniosek: W U2 musimy zna jedynie operacje dodawania i negacji, nie jest potrzebna operacja odejmowania. Np. odejmowanie 7-5 jest równowane dodawaniu 7 + (-5). W. Kasprzak: WDI 1-25

Problem nadmiaru ( overflow ) Błd nadmiaru (overflow) wystpi wtedy, gdy wynik operacji przekroczy zakres reprezentacji liczb. Przykład 1.11. Nadmiar podczas dodawania w U2 nie zaley od ostatniego przeniesienia a jedynie od tego, czy wynik posiada inny znak ni znak obu argumentów: Podczas dodawania w U2 wykrywamy wystpienie sytuacji nadmiaru poprzez sprawdzenie bitu znaku wyniku: W. Kasprzak: WDI 1-26

nadmiar wystpi wtedy, gdy dodawanie 2 liczb dodatnich da wynik ujemny, lub gdy dodawanie 2 liczb ujemnych da wynik dodatni; przy dodawaniu liczb dodatniej i ujemnej nadmiar nie moe wystpi. W. Kasprzak: WDI 1-27

Kod uzupełnieniowy do 1 (kod U1): Liczba U n 1 n 1 = (2 1) + i n n a n ai 2 (2 1), 2 1. i= 0 Najbardziej znaczcy bit jest bitem znaku - jego waga jest -(2 n - 1), gdzie (n+1) jest liczb bitów reprezentacji. Przykład 1.12 W U1 łatwo jest uzyska liczb przeciwn - przez negacj bitów: L U1 = a ( a n, an 1,..., a1, a0); LU 1 = ( an, an 1,..., a1, 0) W. Kasprzak: WDI 1-28.

1.5 Liczby ułamkowe 1) Reprezentacja liczb mieszanych - ułamkowych Zapis pozycyjny liczb mieszanych ułamkowych: - pozycyjny system liczbowy o dodatniej podstawie p {2, 3,...}; - (n + m) - nieujemna liczba pozycji. L = a n 1 1 0 1 n 1 p +... + a1 p + a0 p + a 1 p +... Liczba L kodowana jest w postaci : (L) p W. Kasprzak: WDI 1-29 + a m = ( an 1,..., a1, a0, a 1... a m ) p = przy czym: a i - cyfra i-tej pozycji, a i {0, 1,..., p-1}; n - ilo cyfr czci całkowitej liczby A; m - ilo cyfr czci ułamkowej A. Jeli m i n s jednoczenie niezerowe to L jest liczb mieszan. p m ( C L = U n 1 i= m L ) a i p p i

2) Reprezentacja wykładnicza (zmienno-przecinkowa) Przykład 1.13 Załómy, e słowo maszyny ma długo 64 bitów. Umoliwia to reprezentacj liczb całkowitych z zakresu od 0 do 2 63-1 10 19. 1) Jednak w wielu dziedzinach (np. w astronomii) spotykamy znacznie wiksze wartoci. 2) Dla duych liczb nie stosujemy te zwykle zapisu w rodzaju: N = 602 000 000 000 000 000 000 000 tylko posta wykładnicz zapisu, np.: N = 6,02 10 23 W. Kasprzak: WDI 1-30

Zmienny przecinek Liczby s kodowane w jednym słowie maszyny podzielonym na trzy czci: znak liczby (zwykle 1 bit) jedna cz (zwykle znacznie dłusza) zawiera kod mantysy liczby i jej znak, druga cz (kilkubitowa) - kod cechy liczby i jej znak. x = [ znak] mantysa 2 W. Kasprzak: WDI 1-31 cecha Reprezentacja jest znormalizowana, tzn. bity mantysy s przesunite tak, aby pierwsze miejsce po przecinku zajmował pierwszy znak 1 cigu mantysy. ( 0.5) 10 mantysa < 1 Błd zaokrglenia wystpi wtedy, gdy cz wartoci liczby zostaje utracona w wyniku braku wystarczajcej długoci mantysy.