Podstawy informatyki

61
Kodowanie i liczby Podstawy informatyki 1 W N Podstawy informatyki Podstawy informatyki Kodowanie i liczby Kodowanie i liczby Materiały laboratoryjne Materiały laboratoryjne dr inż. Zbigniew Zakrzewski dr inż. Zbigniew Zakrzewski

description

Materiały laboratoryjne. Podstawy informatyki. Kodowanie i liczby. dr inż. Zbigniew Zakrzewskiv.1.3. Pojęcie informatyki. Informatyka jest to nauka o przetwarzaniu informacji za pomocą automatycznych środków technicznych. - PowerPoint PPT Presentation

Transcript of Podstawy informatyki

Page 1: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 1WN

Podstawy informatykiPodstawy informatykiPodstawy informatykiPodstawy informatyki

Kodowanie i liczbyKodowanie i liczbyKodowanie i liczbyKodowanie i liczby

Materiały laboratoryjneMateriały laboratoryjne

dr inż. Zbigniew Zakrzewskidr inż. Zbigniew Zakrzewski v.1.3v.1.3

Page 2: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 2WN

Pojęcie informatyki

Informatyka jest to nauka o przetwarzaniu informacji za pomocą

automatycznych środków technicznych.

Informacja (w kontekście informatyki) jest wielkością

abstrakcyjną, która może być przechowywana w pewnych

obiektach, przesyłana pomiędzy obiektami, przetwarzana w

pewnych obiektach i stosowana do sterowania pewnymi

obiektami, przy czym przez obiekty rozumie się organizmy

żywe, urządzenia techniczne oraz systemy takich obiektów.

Informatyka jest to nauka o przetwarzaniu informacji za pomocą

automatycznych środków technicznych.

Informacja (w kontekście informatyki) jest wielkością

abstrakcyjną, która może być przechowywana w pewnych

obiektach, przesyłana pomiędzy obiektami, przetwarzana w

pewnych obiektach i stosowana do sterowania pewnymi

obiektami, przy czym przez obiekty rozumie się organizmy

żywe, urządzenia techniczne oraz systemy takich obiektów.

Page 3: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 3WN

Narzędzia informatyki

Komputery Oprogramowanie

Urządzenia elektroniczne realizujące proces przetwarzania informacji w postaci ciągu

operacji arytmetyczno-logicznych

Page 4: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 4WN

Oprogramowanie

Algorytm – opis procesu przetwarzania informacji

Program – zakodowany binarnie algorytm, który steruje pracą procesora

System operacyjny – zbiór programów umożliwiających i ułatwiających eksploatację komputera

Algorytm – opis procesu przetwarzania informacji

Program – zakodowany binarnie algorytm, który steruje pracą procesora

System operacyjny – zbiór programów umożliwiających i ułatwiających eksploatację komputera

Page 5: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 5WN

Podstawowe funkcje systemu operacyjnego

Do podstawowych funkcji OS należą:– uruchamianie programów i kontrola nad nimi– sterowanie pracą i współdziałaniem urządzeń wchodzących w

skład komputeraPodstawowy podsystem komputera:BIOS – Basic Input/Output System – wbudowana część systemu

operacyjnego określająca, co komputer może zrobić bez uruchamiania programów z dysku (FDD, HDD, CD, DVD, PenDrive i inne).

Do podstawowych funkcji OS należą:– uruchamianie programów i kontrola nad nimi– sterowanie pracą i współdziałaniem urządzeń wchodzących w

skład komputeraPodstawowy podsystem komputera:BIOS – Basic Input/Output System – wbudowana część systemu

operacyjnego określająca, co komputer może zrobić bez uruchamiania programów z dysku (FDD, HDD, CD, DVD, PenDrive i inne).

Page 6: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 6WN

Rodzaje narzędzi (komputerów)

Osobiste – stacjonarne i przenośne;

Stacje robocze;

Serwery;

Superkomputery (Mainframe);

Klastry komputerowe (typu Beowulf);

Specjalizowane.

Osobiste – stacjonarne i przenośne;

Stacje robocze;

Serwery;

Superkomputery (Mainframe);

Klastry komputerowe (typu Beowulf);

Specjalizowane. 52 jednostki sprzężone w

klastrach

Beowulf klaster

Page 7: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 7WN

Jednostka informacji: bit

Podstawową jednostką informacji jest bit.

Bit jest to podstawowa elementarna jednostka informacji wystarczająca do zakomunikowania jednego z co najwyżej dwóch jednakowo prawdopodobnych zdarzeń.

Bit stanowi podstawę zapisu informacji w różnych typach pamięci komputera. Wszystkie inne jednostki stanowią różną wielokrotność bitów.

Symbolicznie wartość bitu oznacza się jako „0” lub „1”Jest to oznaczenie stosowane w matematyce oraz przy opisie informacji przechowywanej w pamięci komputera i opisie sposobów kodowania informacji.

Podstawową jednostką informacji jest bit.

Bit jest to podstawowa elementarna jednostka informacji wystarczająca do zakomunikowania jednego z co najwyżej dwóch jednakowo prawdopodobnych zdarzeń.

Bit stanowi podstawę zapisu informacji w różnych typach pamięci komputera. Wszystkie inne jednostki stanowią różną wielokrotność bitów.

Symbolicznie wartość bitu oznacza się jako „0” lub „1”Jest to oznaczenie stosowane w matematyce oraz przy opisie informacji przechowywanej w pamięci komputera i opisie sposobów kodowania informacji.

Page 8: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 8WN

Systemy zapisu liczb

Na ogół operujemy systemami pozycyjnymi, np. rzymski, dziesiętny.

System pozycyjny oznacza, że wartość zapisywanego znaku zależy od jego miejsca, położenia

– „rzymski” = system pozycyjny sekwencyjny– „dziesiętny” = system pozycyjny wagowy

gdzie: m, n N; m ≤ n; N ≤ 2; a {0,....,N-1}

N nazywamy podstawą systemu, zaś a jest elementem zbioru cyfr dostępnych w danym systemie

W systemie dziesiętnym: N = 10, a {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Na ogół operujemy systemami pozycyjnymi, np. rzymski, dziesiętny.

System pozycyjny oznacza, że wartość zapisywanego znaku zależy od jego miejsca, położenia

– „rzymski” = system pozycyjny sekwencyjny– „dziesiętny” = system pozycyjny wagowy

gdzie: m, n N; m ≤ n; N ≤ 2; a {0,....,N-1}

N nazywamy podstawą systemu, zaś a jest elementem zbioru cyfr dostępnych w danym systemie

W systemie dziesiętnym: N = 10, a {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

ni

ii m

L a N

Page 9: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 9WN

System dwójkowy

System dwójkowy jest naturalnym systemem informatyki.

Jak zapisujemy informację?

Za pomocą zjawisk elektrycznych, magnetycznych, świetlnych Zamiast skomplikowanych pomiarów które by pozwoliły zapisać 10 cyfr mamy proste i jednoznaczne kodowanie.

– Materiał półprzewodnikowy: gdy przyłożymy napięcie w jednym kierunku przewodzi prąd (prawie idealnie), a w kierunku przeciwnym nie przewodzi prądu. Mamy wiec dwa stany

– Podobnie jest w magnetyzmie: substancje magnetyczne można namagnesować w dwóch kierunkach

Wadę systemy dwójkowego stanowi długość liczby, np.(0010001110100101)2 = 213 + 29 + 28 + 27 + 25 + 22 + 20 = (9125)10

System dwójkowy jest naturalnym systemem informatyki.

Jak zapisujemy informację?

Za pomocą zjawisk elektrycznych, magnetycznych, świetlnych Zamiast skomplikowanych pomiarów które by pozwoliły zapisać 10 cyfr mamy proste i jednoznaczne kodowanie.

– Materiał półprzewodnikowy: gdy przyłożymy napięcie w jednym kierunku przewodzi prąd (prawie idealnie), a w kierunku przeciwnym nie przewodzi prądu. Mamy wiec dwa stany

– Podobnie jest w magnetyzmie: substancje magnetyczne można namagnesować w dwóch kierunkach

Wadę systemy dwójkowego stanowi długość liczby, np.(0010001110100101)2 = 213 + 29 + 28 + 27 + 25 + 22 + 20 = (9125)10

Page 10: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 10WN

Bity a Bajty

Przyjęło się stosowanie jednostki liczącej 8 bitów, nazwanej bajtem

Bajt to podstawowa komputerowa jednostka (porcja) informacji

Dzisiaj mamy kilobajty, megabajty, gigabajty, terabajty,...

Przyjęło się stosowanie jednostki liczącej 8 bitów, nazwanej bajtem

Bajt to podstawowa komputerowa jednostka (porcja) informacji

Dzisiaj mamy kilobajty, megabajty, gigabajty, terabajty,...

Nazwa Liczba bajtów [B] Potoczne rozumienie

Kilobajt 210 = 1 024 103 (tysiąc)

Megabajt 220 = 1 048 576 106 (milion)

Gigabajt 230 = 1 073 741 824 109 (miliard)

Terabajt 240 = 11 099 511 627 776 1012 (bilion)

Jeden bajt może reprezentować 256 różnych wartości, które mogą oznaczać zapisywane wiadomości (zgodnie z regułą Hartleya)

Uw

ag

a !

Nie

jest

zg

od

ne

z

ukł

ad

em

SI

Page 11: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 11WN

Pojemność informacji

Wyobrażenie pojemności informacji, wyrażonej w bajtach, jako wielkości

abstrakcyjnej (nienamacalnej)

Page 12: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 12WN

Kodowanie informacji

Jak to się dzieje, że w pamięci komputera można przechowywać teksty, obrazy, dźwięki i liczby znacznie różniące się od zestawu 0 – 256?

Dzięki kodowaniu informacji !

Bez kodowania nie ma zapisu różnorodnych informacji w pamięci komputera. Kodowanie występuje w każdym programie i na każdym poziomie.

Kodowanie multimediów (zamiana na informację) nazywamy kodowaniem źródłowym

Jak to się dzieje, że w pamięci komputera można przechowywać teksty, obrazy, dźwięki i liczby znacznie różniące się od zestawu 0 – 256?

Dzięki kodowaniu informacji !

Bez kodowania nie ma zapisu różnorodnych informacji w pamięci komputera. Kodowanie występuje w każdym programie i na każdym poziomie.

Kodowanie multimediów (zamiana na informację) nazywamy kodowaniem źródłowym

Page 13: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 13WN

Kodowanie liczb i znaków

Liczby całkowite

89

Liczby dziesiętne

12,3

Znaki alfanumeryczne

CB

Liczby binarne

1011001

Liczby binarne

??????

Liczby binarne

??????

Jak przechowywać informacje o liczbach ułamkowych oraz różnorodnych znakach (literach, np. chińskich) ?

Page 14: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 14WN

Kanał Shannona a prawo wartości informacji Hartleya:Kanał Shannona a prawo wartości informacji Hartleya:

Komunikacyjny model Shannona

Źródło informacji Nadajnik Kanał Odbiornik Punkt

przeznaczenia

Nadana wiadomość Nadany sygnał Odebrany sygnał Odebrana wiadomość

Szum addytywny

H = log =

Wartość informacji wg Hartleya

N – liczba stanów M – liczba wiadomości

HN =M

Page 15: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 15WN

Formuła naturalnego (pozycyjnego) kodu dziesiętnego: (arabskiego)Formuła naturalnego (pozycyjnego) kodu dziesiętnego: (arabskiego)

Kodowanie w systemie naturalnym NKD

3 2 1 02 10 5 10 7 10 8 10L A

257810 Wartość

Znaki alfabetu Wagi systemu

3

0

10ii

i

L A a

0 1 2 38, 7, 5, 2a a a a

Ogólny zapis

0,1, , 1 , gdzie 10ia p p

0,1,2, ,9ia

Page 16: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 16WN

Zapis liczb nieujemnych w kodzie NKD

Formuły wiążące słowo kodowe z liczbami nieujemnymi:

1. Nieujemna liczba całkowita L 0:

2. Nieujemna liczba ułamkowa 0 L < 1:

Formuły wiążące słowo kodowe z liczbami nieujemnymi:

1. Nieujemna liczba całkowita L 0:

2. Nieujemna liczba ułamkowa 0 L < 1:

1 1 0 , 0 1n i iA a a a a a p Słowo kodowe

Podstawa kodu

Długość słowa

1

1 2 1 01 2 1 0

0

nn n i

n n ii

L A a p a p a p a p a p

1 2 1 , 0 1j m m jA a a a a a a p

1

1 2 11 2 1

m m jm m j

j m

L A a p a p a p a p a p

Długość słowa

Page 17: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 17WN

3. Nieujemna liczba rzeczywista L 0 :3. Nieujemna liczba rzeczywista L 0 :

Zapis liczb nieujemnych w kodzie NKD c.d

1 2 1 0 1 2n n mA a a a a a a a

1n

kk

k m

L A a p

max 1nL p max 1 nL p

Maksymalna wartość liczby całkowitej Maksymalna wartość liczby ułamkowej

Przykład: Przykład:

maxL 1 maxL 1

Page 18: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 18WN

Kodowanie w systemie naturalnym NKB

Formuła naturalnego (pozycyjnego) kodu dwójkowego:Formuła naturalnego (pozycyjnego) kodu dwójkowego:

3 2 1 01 2 0 2 1 2 1 2L B

10112 Wartość

Znaki alfabetu Wagi systemu

3

0

2ii

i

L B b

0 1 2 31, 1, 0, 1b b b b

Ogólny zapis

0, 1 , gdzie 2ib p p

0,1ib

Page 19: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 19WN

Liczba naturalna w kodzie dwójkowym

Słowo n-bitowe: X = xn-1 ....... x1 x0

Słowo 8 bitowe: 10010011

Takie słowo reprezentuje liczbę z przedziału od 0 do 2n-1

Czyli dla n = 8 0 ÷ 255 na jednym bajcie

Czyli dla n = 16 0 ÷ 65535 na dwóch bajtach

Czyli dla n = 24 0 ÷ 16777216 na trzech bajtach

Czyli dla n = 64 0 ÷ 1.8447x1019 na ośmiu bajtach

Słowo n-bitowe: X = xn-1 ....... x1 x0

Słowo 8 bitowe: 10010011

Takie słowo reprezentuje liczbę z przedziału od 0 do 2n-1

Czyli dla n = 8 0 ÷ 255 na jednym bajcie

Czyli dla n = 16 0 ÷ 65535 na dwóch bajtach

Czyli dla n = 24 0 ÷ 16777216 na trzech bajtach

Czyli dla n = 64 0 ÷ 1.8447x1019 na ośmiu bajtach

Page 20: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 20WN

Zapis liczb nieujemnych w kodzie NKB

Formuły wiążące słowo kodowe z liczbami nieujemnymi:

1. Nieujemna liczba całkowita L 0:

2. Nieujemna liczba ułamkowa 0 L < 1:

Formuły wiążące słowo kodowe z liczbami nieujemnymi:

1. Nieujemna liczba całkowita L 0:

2. Nieujemna liczba ułamkowa 0 L < 1:

1 2 1 0 , 0,1n n i iB b b b b b b Słowo kodowe Długość słowa

1

1 2 1 01 2 1 0

0

2 2 2 2 2n

n n in n i

i

L B b b b b b

1 2 1 , 0,1j m m jB b b b b b b

1

1 2 11 2 12 2 2 2 2m m j

m m jj m

L B b b b b b

Długość słowa

Page 21: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 21WN

Zapis liczb nieujemnych w kodzie NKB c.d

3. Nieujemna liczba rzeczywista L 0 :3. Nieujemna liczba rzeczywista L 0 :

1 2 1 0 1 2n n mB b b b b b b b

1

2n

kk

k m

L B b

max 2 1nL max 1 2 nL

Maksymalna wartość liczby całkowitej Maksymalna wartość liczby ułamkowej

Przykład: Przykład:

4max 2 1 15L 4

max 1 2 0.9375L

Reprezentacja dziesiętna

Page 22: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 22WN

Kody wspomagające kod NKB

Powody wprowadzenia kodów wspomagających:

1. Zbyt długie łańcuchy symboli NKB w ręcznym przetwarzaniu przez człowieka.

2. Możliwość popełnienia błędu w ręcznym zapisie NKB.

Powody wprowadzenia kodów wspomagających:

1. Zbyt długie łańcuchy symboli NKB w ręcznym przetwarzaniu przez człowieka.

2. Możliwość popełnienia błędu w ręcznym zapisie NKB.

2 , gdzie 1rp r

Kod ósemkowy (OCT) – r = 3 Kod szesnastkowy (HEX) – r = 4

Kody wspomagające -

W przypadku kodów o większej liczbie symboli niż 10, stosuje się oznaczenia literowe od „A” do litery dopełniającej zakres

(w przypadku kodu szesnastkowego do litery „F”).

Page 23: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 23WN

Reprezentacja liczb w kodach naturalnych

Tabela z wybranymi liczbami:Tabela z wybranymi liczbami:

NKD NKB OCT HEX

0 0 0 0

1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

Page 24: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 24WN

Konwersja kodów (dziesiętny dowolny) całkowite

Metodyka konwertowania dziesiętnych liczb całkowitych:

L – dziesiętna liczba całkowita,

B – liczba równoważna dziesiętnej o podstawie p.

Metoda iteracyjnego dzielenia przez podstawę p.

Metodyka konwertowania dziesiętnych liczb całkowitych:

L – dziesiętna liczba całkowita,

B – liczba równoważna dziesiętnej o podstawie p.

Metoda iteracyjnego dzielenia przez podstawę p.

00 0, gdzie: - liczba całkowita, 1 - reszta

bLa a b p

p p

0 11 1 21 2, , , 0n na a bb a b

a ap p p p p p

1 1 0n n pB b b b b

p

Uniwersalny konwerter (NKD dowolny):

210System

Page 25: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 25WN

Przykład konwersji NKD na NKB (dla liczb całkowitych):Przykład konwersji NKD na NKB (dla liczb całkowitych):

Konwersja kodów (dziesiętny dwójkowy) całkowite

0

61 130 , 1,

2 2b 1

3015 0, 0,

2b

2

15 17 , 1,

2 2b

3

7 13 , 1,

2 2b

4

3 11 , 1,

2 2b 5

1 10 , 1,

2 2b

1 2

3 4

5 6

Wynik: 6110 = 1111012

6110

Page 26: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 26WN

Wielkości liczbowe

Liczby naturalne:

Jeden bajt 0, 1, ..., 255Dwa bajty ...,216 – 1 ( czyli około 6*104 ) Cztery bajty ...,232 – 1 ( czyli około 4*109 )

Liczby ujemne: kodowanie w systemie znak-moduł

Umawiamy się, że jeden bit z liczby oznacza jej znak (np. ósmy bit)Dla jednego bajta otrzymamy liczby (-127, 127) Ten zakres można rozszerzyć używając dwa bajty, cztery bajty, itd...

Problem: niejednoznaczność definicji zera

+ 0 = 00000000

- 0 = 10000000

Liczby naturalne:

Jeden bajt 0, 1, ..., 255Dwa bajty ...,216 – 1 ( czyli około 6*104 ) Cztery bajty ...,232 – 1 ( czyli około 4*109 )

Liczby ujemne: kodowanie w systemie znak-moduł

Umawiamy się, że jeden bit z liczby oznacza jej znak (np. ósmy bit)Dla jednego bajta otrzymamy liczby (-127, 127) Ten zakres można rozszerzyć używając dwa bajty, cztery bajty, itd...

Problem: niejednoznaczność definicji zera

+ 0 = 00000000

- 0 = 10000000

Page 27: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 27WN

Liczby ujemne

Bit 7 6 5 4 3 2 1 0

Znaczenie znak 64 32 16 8 4 2 1

Kodowanie w systemie znak-moduł

Kodowanie w systemie uzupełnieniowym

Bit 7 6 5 4 3 2 1 0

Znaczenie 128 -64 -32 -16 -8 -4 -2 -1

Jeżeli kolejnym bitom przypiszemy wartości jak w tabeli to otrzymamy liczby z zakresu (–127,128).

Nie ma podwójnej reprezentacji zera, ale przedział jest niesymetryczny. Ta asymetria jest wpisana w metodę, ponieważ w bajcie możemy zakodować 256 wartości. Odliczając ciąg znaków oznaczających zero zostaje nam różnych 255 wartości.

Page 28: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 28WN

Liczby całkowite

Liczby całkowite: kodowanie w systemie uzupełnieniowym

Wszystkie otrzymane wartości są dokładne; Istnieje górne i dolne ograniczenie zakresu wartości liczb; Ograniczenia te zależą od tego, ile bajtów przeznaczymy na

liczbę oraz od systemu kodowania znaku; Przy takim zapisie umawiamy się, że przecinek leży za prawym

skrajnym znakiem

Ten system kodowania nazywamy też systemem stałoprzecinkowym

Otrzymujemy dla niego zawsze dokładne wartości

Liczby całkowite: kodowanie w systemie uzupełnieniowym

Wszystkie otrzymane wartości są dokładne; Istnieje górne i dolne ograniczenie zakresu wartości liczb; Ograniczenia te zależą od tego, ile bajtów przeznaczymy na

liczbę oraz od systemu kodowania znaku; Przy takim zapisie umawiamy się, że przecinek leży za prawym

skrajnym znakiem

Ten system kodowania nazywamy też systemem stałoprzecinkowym

Otrzymujemy dla niego zawsze dokładne wartości

Page 29: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 29WN

Konwersja kodów (dziesiętny dowolny) ułamkowe

Metodyka konwertowania dziesiętnych liczb ułamkowych:

L – dziesiętna liczba ułamkowa,

B – liczba równoważna dziesiętnej o podstawie p.

Metoda iteracyjnego mnożenia przez podstawę p.

Metodyka konwertowania dziesiętnych liczb ułamkowych:

L – dziesiętna liczba ułamkowa,

B – liczba równoważna dziesiętnej o podstawie p.

Metoda iteracyjnego mnożenia przez podstawę p.

1 1 1 1, gdzie: - nowy ułamek, 1 - liczba całkowitaL p b d d b p

1 2 2 2 3 3 1, , , m m md p b d d p b d d p b d

1 20. m pB b b b

Koniec obliczeń dla dm = 0

Page 30: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 30WN

Konwersja kodów (dziesiętny dwójkowy) ułamkowe

Przykład konwersji NKD na NKB (dla liczb ułamkowych):Przykład konwersji NKD na NKB (dla liczb ułamkowych):

0.2110 110.21 2 0 0.42, 0,b

20.42 2 0 0.84, 0,b

30.84 2 1 0.68, 1,b

40.68 2 1 0.36, 1,b

50.26 2 0 0.72, 0,b

60.72 2 1 0.44, 1,b

I tak dalej ....

Stąd 0.2110 = (0.001101 ...)2

2

3

4

5

6

Page 31: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 31WN

Konwersja kodów (dwójkowy dziesiętny) całkowite

Metodyka konwertowania liczb całkowitych NKB na NKD:Metodyka konwertowania liczb całkowitych NKB na NKD:

3 2 1 01 2 0 2 1 2 1 2

8 0 2 1 11

L B

10112

110102

4 3 2 1 01 2 1 2 0 2 1 2 0 2

16 8 0 2 0 26

L B

Przykład 1:

Przykład 2:

Konwerter NKB NKD:

2 10

Page 32: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 32WN

Konwersja kodów (dwójkowy HEX) całkowite

Metodyka konwertowania liczb całkowitych NKB na HEX:Metodyka konwertowania liczb całkowitych NKB na HEX:

1110 0101 1101 0111 NKB

14 5 13 7 NKD

E 5 D 7 HEX

L B

1110 0101 1101 01112Przykład 1:

Konwerter NKB HEX:

2 16

Wynik: 11100101110101112 = E5D716

Tetrady liczby szesnastkowej

Page 33: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 33WN

Każda liczba zapisana w kodzie naturalnym może być przedstawiona w odpowiednim kodzie uzupełnieniowym.

Dla każdego naturalnego kodu liczbowego o podstawie p istnieją dwa rodzaje uzupełnień:

a) uzupełnienie do podstawy p, oznaczane symbolem Up,

b) uzupełnienie do zmniejszonej podstawy p-1, oznaczane symbolem U(p-1).

Każda liczba zapisana w kodzie naturalnym może być przedstawiona w odpowiednim kodzie uzupełnieniowym.

Dla każdego naturalnego kodu liczbowego o podstawie p istnieją dwa rodzaje uzupełnień:

a) uzupełnienie do podstawy p, oznaczane symbolem Up,

b) uzupełnienie do zmniejszonej podstawy p-1, oznaczane symbolem U(p-1).

Uzupełnienia liczb

Dla liczb o podstawie p = 10 i p = 2 otrzymuje się

odpowiednio uzupełnienia: U10, U9 i U2, U1.

Page 34: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 34WN

Formuła na uzupełnienie do zmniejszonej podstawy:

L – liczba nieujemna,

p – podstawa liczby,

n 0 – długość części całkowitej liczby,

m 0 – długość części ułamkowej liczby.

Formuła na uzupełnienie do zmniejszonej podstawy:

L – liczba nieujemna,

p – podstawa liczby,

n 0 – długość części całkowitej liczby,

m 0 – długość części ułamkowej liczby.

Uzupełnienie U(p-1) w teorii

1 n mU p L p p L

Praktyczna reguła: Uzupełnienie U(p-1) liczby nieujemnej otrzymuje się przez odjęcie każdej cyfry tej liczby od (p-1)

Page 35: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 35WN

Przykłady dla liczb dziesiętnych oraz dwójkowych:Przykłady dla liczb dziesiętnych oraz dwójkowych:

Uzupełnienie U(p-1) w praktyce

9 347 652

9 67.324 32.675

9 0 9

9 0.0 9.9

U

U

U

U

1 101101 010010

1 01.1011 10.0100

1 0 1

1 0.0 1.1

U

U

U

U

Dziesiętne: Dwójkowe:

W przypadku liczb dwójkowych operacja uzupełnienia do 1 nosi nazwę dopełnienia i oznacza zastąpienie każdej jedynki przez zero i odwrotnie, czyli negację

wszystkich bitów danej liczby.

Page 36: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 36WN

Formuła na uzupełnienie do podstawy:

L – liczba nieujemna,p – podstawa liczby,

n 0 – długość części całkowitej liczby.

Formuła na uzupełnienie do podstawy:

L – liczba nieujemna,p – podstawa liczby,

n 0 – długość części całkowitej liczby.

Uzupełnienie Up w teorii

dla 0

0 0

nUp L p L L

Up

Praktyczna reguła nr 1: Uzupełnienie Up liczby nieujemnej otrzymuje się przez dodanie jedynki na najmniej znaczącej pozycji jej uzupełnienia U(p-1).

Praktyczna reguła nr 2: Uzupełnienie Up liczby nieujemnej otrzymuje się przez pozostawienie wszystkich mniej znaczących zer bez zmiany, odjęcie pierwszej

niezerowej najmniej znaczącej cyfry od podstawy p, a następnie odjęcie pozostałych bardziej znaczących cyfr od zmniejszonej podstawy (p-1)

Page 37: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 37WN

Przykłady dla liczb dziesiętnych oraz dwójkowych:Przykłady dla liczb dziesiętnych oraz dwójkowych:

Uzupełnienie Up w praktyce

Dziesiętne:

Dwójkowe:

4

2

10 3470 6530 10 3470 4

10 0.3947 0.6053 1 0.3947 0

10 32.194 67.806 10 32.194 2

10 0 0

U n

U n

U n

U

2 101100 010100

2 01.1010 10.0110

2 0 0

2 0.0 0.0

U

U

U

U

W przypadku liczb dwójkowych (p = 2) uzupełnienia do 2 można otrzymać pozostawiając wszystkie mniej znaczące zera i pierwszą najmniej znaczącą jedynkę niezmienione, a następnie negując pozostałe bity.

Page 38: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 38WN

W dwójkowym systemie liczbowym znaki „+” oraz „-” są wprowadzane w postaci odrębnego bitu znaku, gdzie :

– „1”- reprezentuje umownie znak „-”,– „0” – odpowiada znakowi „+”.

Stosuje się trzy zasadnicze sposoby kodowania liczb dwójkowych ze znakiem:

1. Znak-Moduł (ZM).

2. Znak-Uzupełnienie do 1 (ZU1).

3. Znak-Uzupełnienie do 2 (ZU2).

Kody te stosuje się do liczb całkowitych i ułamkowych, czyli ogólnie biorąc liczb rzeczywistych.

W dwójkowym systemie liczbowym znaki „+” oraz „-” są wprowadzane w postaci odrębnego bitu znaku, gdzie :

– „1”- reprezentuje umownie znak „-”,– „0” – odpowiada znakowi „+”.

Stosuje się trzy zasadnicze sposoby kodowania liczb dwójkowych ze znakiem:

1. Znak-Moduł (ZM).

2. Znak-Uzupełnienie do 1 (ZU1).

3. Znak-Uzupełnienie do 2 (ZU2).

Kody te stosuje się do liczb całkowitych i ułamkowych, czyli ogólnie biorąc liczb rzeczywistych.

Zapis liczb dwójkowych ze znakiem

Page 39: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 39WN

W kodzie ZM liczby dodatnie i ujemne o tych samych wartościach bezwzględnych różnią się tylko bitem znaku.W kodzie ZM liczby dodatnie i ujemne o tych samych

wartościach bezwzględnych różnią się tylko bitem znaku.

Liczba ze znakiem w kodzie ZM

Całkowite: 10 2

10 2

12 0.1100

12 1.1100

Ułamkowe:10 2

10 2

0.75 0.1100

0.75 1.1100

W praktyce układowej kropka jest pomijana, gdyż zwykle przyjmuje się, że dany zapis reprezentuje albo liczbę całkowitą albo liczbę ułamkową.

Page 40: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 40WN

W kodzie ZU1 reprezentacja:

– liczby dodatniej jest taka sama jak w kodzie ZM,

– liczby ujemnej jako bit znaku równy 1 oraz uzupełnienie jej modułu do 1.

W kodzie ZU1 reprezentacja:

– liczby dodatniej jest taka sama jak w kodzie ZM,

– liczby ujemnej jako bit znaku równy 1 oraz uzupełnienie jej modułu do 1.

Liczba ze znakiem w kodzie ZU1

Całkowite: 10 2

10 2

12 0.1100

12 1.0011

Ułamkowe:10 2

10 2

0.75 0.1100

0.75 1.0011

Kody ZM i ZU1 wprowadzają pewną anomalię – dwie różne liczy reprezentują zero. Te dwa zera określa się umownie jako „dodatnie” i

„ujemne” zero.

Page 41: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 41WN

W kodzie ZU2 reprezentacja:– liczby dodatniej jest taka sama jak w kodzie ZM oraz ZU1,– liczby ujemnej jako bit znaku równy 1 oraz uzupełnienie jej modułu do

2.

W kodzie ZU2 reprezentacja:– liczby dodatniej jest taka sama jak w kodzie ZM oraz ZU1,– liczby ujemnej jako bit znaku równy 1 oraz uzupełnienie jej modułu do

2.

Liczba ze znakiem w kodzie ZU2

Całkowite: 10 2

10 2

12 0.1100

12 1.0100

Ułamkowe:10 2

10 2

0.75 0.1100

0.75 1.0100

W przypadku kodu ZU2 – zero jest zapisane jednoznacznie bez względu na ustawienia bitu znaku.

Page 42: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 42WN

Przykłady liczb ze znakiem w kodach

Tabela z czterobitowymi liczbami ze znakiem w kodach:Tabela z czterobitowymi liczbami ze znakiem w kodach:Liczba dziesiętna (w

nawiasach ułamkowa)Liczba dwójkowa

ZM ZU1 ZU2

-8 (-1) 1.000

-7 (-0.875) 1.111 1.000 1.001

-6 (-0.75) 1.110 1.001 1.010

-5 (-0.625) 1.101 1.010 1.011

-4 (-0.5) 1.100 1.011 1.100

-3 (-0.375) 1.011 1.100 1.101

-2 (-0.25) 1.010 1.101 1.110

-1 (-0.125) 1.001 1.110 1.111

-0 1.000 1.111

0 0.000

+0 0.000 0.000

1 (0.125) 0.001 0.001 0.001

2 (0.25) 0.010 0.010 0.010

3 (0.375) 0.011 0.011 0.011

4 (0.5) 0.100 0.100 0.100

5 (0.625) 0.101 0.101 0.101

Page 43: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 43WN

Cechy kodu BCD (Binary-Coded-Decimal):

1. Każda cyfra dziesiętna jest oddzielnie kodowana dwójkowo w postaci odpowiedniego słowa.

2. Cała liczba dziesiętna jest kodowana dwójkowo przez złożenie słów dwójkowych, reprezentujących wszystkie cyfry tej liczby.

3. Do zapisu cyfr potrzebne są co najmniej 4-bitowe słowa.

4. Wszystkie kody BCD są kodami nadmiarowymi (24 = 16).

5. Możliwości kombinacyjne 4-bitowych słów kodowych jako kodów BCD:

Cechy kodu BCD (Binary-Coded-Decimal):

1. Każda cyfra dziesiętna jest oddzielnie kodowana dwójkowo w postaci odpowiedniego słowa.

2. Cała liczba dziesiętna jest kodowana dwójkowo przez złożenie słów dwójkowych, reprezentujących wszystkie cyfry tej liczby.

3. Do zapisu cyfr potrzebne są co najmniej 4-bitowe słowa.

4. Wszystkie kody BCD są kodami nadmiarowymi (24 = 16).

5. Możliwości kombinacyjne 4-bitowych słów kodowych jako kodów BCD:

Kody dwójkowo-dziesiętne BCD w teorii

10! ! 16!/ 6! 2.9 10N N m

Page 44: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 44WN

Przykład kodowania w kodzie „8421”:

Przykład kodowania w kodzie „2421”:

Przykład kodowania w kodzie „8421”:

Przykład kodowania w kodzie „2421”:

Kody BCD w praktyce

6 2 8 3

0110 0010 1000 0011

628310

Wynik

6283106 2 8 3

1100 0010 1110 0011

Kody „samouzupełniające” – uzupełnienie do 1 liczb dwójkowych daje uzupełnienie do 9 odpowiednich liczb dziesiętnych.

Wynik

Praktyczna reguła: Pierwsze 5 cyfr kodowane jak w „8421”, pozostałe 5 zanegowane odpowiedniki dopełnień do 9.

Page 45: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 45WN

Zestawienie kodów BCD

Tabela z wykazem kodów dwójkowo-dziesiętnych BCD:Tabela z wykazem kodów dwójkowo-dziesiętnych BCD:

NKD 8421 2421

(Aikena)

XS3 XS3 - Graya

1 z 10 7-segmentowy

0 0000 0000 0011 0010 0000000001 1111110

1 0001 0001 0100 0110 0000000010 0110000

2 0010 0010 0101 0111 0000000100 1101101

3 0011 0011 0110 0101 0000001000 1111001

4 0100 0100 0111 0100 0000010000 0110011

5 0101 1011 1000 1100 0000100000 1011011

6 0110 1100 1001 1101 0001000000 1011111

7 0111 1101 1010 1111 0010000000 1110010

8 1000 1110 1011 1110 0100000000 1111111

9 1001 1111 1100 1010 1000000000 1111011

Page 46: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 46WN

Wady reprezentacji stałoprzecinkowej (Fixed Point Notation):

10-cyfrowy format: XXXXX.XXXXX

Wady reprezentacji stałoprzecinkowej (Fixed Point Notation):

10-cyfrowy format: XXXXX.XXXXX

Reprezentacja stałoprzecinkowa

47567.31A 0.000075244B

obcięte

0.000075244

00000.00007

B

47567.31000A

W przypadku liczb stałoprzecinkowych wystąpi duży błąd przy bardzo małych wartościach oraz bardzo dużych wartościach (w odniesieniu do

powyższego formatu).

Page 47: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 47WN

Liczby rzeczywiste

Charakterystyka:

Liczby rzeczywiste mają cześć całkowitą i ułamkową

Nie można już przyjąć, że przecinek leży po prawej stronie (bo wtedy byśmy mieli tylko liczby całkowite) ani, że leży po lewej stronie (bo wtedy byśmy mieli tylko liczby ułamkowe)

Niezbyt „ekonomiczne” byłoby używanie kodowania w systemie stałoprzecinkowym (np. przecinek rozdziela dwa bajty)

Co chcemy tak naprawdę uzyskać?

System kodowania dla którego błąd względny będzie tego samego rzędu dla wszystkich wartości biorących udział w obliczeniach.

Charakterystyka:

Liczby rzeczywiste mają cześć całkowitą i ułamkową

Nie można już przyjąć, że przecinek leży po prawej stronie (bo wtedy byśmy mieli tylko liczby całkowite) ani, że leży po lewej stronie (bo wtedy byśmy mieli tylko liczby ułamkowe)

Niezbyt „ekonomiczne” byłoby używanie kodowania w systemie stałoprzecinkowym (np. przecinek rozdziela dwa bajty)

Co chcemy tak naprawdę uzyskać?

System kodowania dla którego błąd względny będzie tego samego rzędu dla wszystkich wartości biorących udział w obliczeniach.

Page 48: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 48WN

Skalowanie liczby

Dostosowywanie skali liczby ułamkowej:Dostosowywanie skali liczby ułamkowej:

0.000075244B 40.75244 10B

57.5244 10B

i tak dalej ...

47567.31A

47567.31 0.75244 0.0001A B

Możliwość wykonania działania z zastosowaniem wszystkich cyfr znaczących. Wynik jednak musi być

dodatkowo pomnożony przez wykładniczy współczynnik korygujący.

Page 49: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 49WN

System zmiennoprzecinkowy

Metoda:

Kodowanie w systemie zmiennoprzecinkowym zwanym też cecha-mantysa

umożliwia zapis liczb rzeczywistych z ustalonym błędem względnym

system oparty na podziale liczby na cześć ułamkową zwaną mantysą oraz na wykładnik potęgi podstawy systemu zwany cechą

opracowany na podstawie zapisu liczby w systemie pozycyjnym wagowym

Metoda:

Kodowanie w systemie zmiennoprzecinkowym zwanym też cecha-mantysa

umożliwia zapis liczb rzeczywistych z ustalonym błędem względnym

system oparty na podziale liczby na cześć ułamkową zwaną mantysą oraz na wykładnik potęgi podstawy systemu zwany cechą

opracowany na podstawie zapisu liczby w systemie pozycyjnym wagowym

Page 50: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 50WN

Zmiennoprzecinkowa (Floating Point Notation) reprezentacja liczby

dziesiętnej:

M – mantysa, liczba ułamkowa ze znakiem, przedstawiona w jednym z

trzech kodów ZM, ZU1, ZU2,

W – wykładnik lub cecha, liczba całkowita ze znakiem przedstawiona

również w jednym z trzech kodów (nie koniecznie tym samym co M),

p – wspólna podstawa kodów zastosowanych do zapisu słów M i W,

d – liczba naturalna (zwykle równa 1).

Zmiennoprzecinkowa (Floating Point Notation) reprezentacja liczby

dziesiętnej:

M – mantysa, liczba ułamkowa ze znakiem, przedstawiona w jednym z

trzech kodów ZM, ZU1, ZU2,

W – wykładnik lub cecha, liczba całkowita ze znakiem przedstawiona

również w jednym z trzech kodów (nie koniecznie tym samym co M),

p – wspólna podstawa kodów zastosowanych do zapisu słów M i W,

d – liczba naturalna (zwykle równa 1).

Reprezentacja zmiennoprzecinkowa

dL WL L M W L M p

Page 51: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 51WN

Liczba zmiennoprzecinkowa jest znormalizowana, jeśli mantysa spełnia warunek:

Podczas czynności normalizacji następuje odpowiednie przesunięcie pozycji kropki dziesiętnej („przecinka”), co uzasadnia nazwanie tej notacji zmiennoprzecinkową.

W przypadku liczb dwójkowych odbywa się to poprzez przesunięcie cyfr znaczących w prawo lub w lewo, w zależności od tego czy przecinek należy przesunąć w kierunku liczb małych, czy też dużych.

Liczba zmiennoprzecinkowa jest znormalizowana, jeśli mantysa spełnia warunek:

Podczas czynności normalizacji następuje odpowiednie przesunięcie pozycji kropki dziesiętnej („przecinka”), co uzasadnia nazwanie tej notacji zmiennoprzecinkową.

W przypadku liczb dwójkowych odbywa się to poprzez przesunięcie cyfr znaczących w prawo lub w lewo, w zależności od tego czy przecinek należy przesunąć w kierunku liczb małych, czy też dużych.

Normalizacja liczby zmiennoprzecinkowej

1dp L M

Page 52: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 52WN

Liczby zmiennoprzecinkowe w praktyce

Metodyka dostosowywania liczby zmiennoprzecinkowej:

Przykład: Przyjęto jednobajtowe słowo dwójkowe M i W w kodzie ZU2. Zadanie:

Przedstawienie liczby dziesiętnej L = -4.25 w dwójkowym zapisie

zmiennoprzecinkowym, znormalizowanym.

1. Przekształcenie liczby L na liczbę dwójkową w kodzie ZU2:

2. Normalizacja poprzez przesunięcie przecinka dziesiętnego (warunek –

poprzedni slajd):

3. Stosując 8-bitowy kod ZU2 dla słów mantysy i wykładnika otrzymujemy dwójkowy zapis zmiennoprzecinkowy:

4. Sprawdzenie:

Metodyka dostosowywania liczby zmiennoprzecinkowej:

Przykład: Przyjęto jednobajtowe słowo dwójkowe M i W w kodzie ZU2. Zadanie:

Przedstawienie liczby dziesiętnej L = -4.25 w dwójkowym zapisie

zmiennoprzecinkowym, znormalizowanym.

1. Przekształcenie liczby L na liczbę dwójkową w kodzie ZU2:

2. Normalizacja poprzez przesunięcie przecinka dziesiętnego (warunek –

poprzedni slajd):

3. Stosując 8-bitowy kod ZU2 dla słów mantysy i wykładnika otrzymujemy dwójkowy zapis zmiennoprzecinkowy:

4. Sprawdzenie:

2 1.011.11ZU L

31.01111 2L L

1.01111000.0000011M W

M W

1 5 3 32 2 2 0.53125 2 4.25L WL M p

Wirtu

alne kro

pki

Page 53: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 53WN

Standard IEEE 754

Pojedyncza precyzja:

mantysa 23 bity, wykładnik 8 bitów (nadmiar 127), znak 1 bit

Mantysa jest znormalizowana do zmniejszonej podstawy wykładnika (kodowanie w formacie U1)

S E E E E E E E E M M M M M M M M M M M M M M M M M M M M M M M

Wykładnik Mantysa

Zn

ak

Wartość: 1/4 1/16 1/64 itd. 1/2 23

1/2 1/8 1/32 itd..

0222331bitbajt 1bajt 2bajt 3bajt 4

Page 54: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 54WN

Standard IEEE 754

Procedura zapisu:

1) Określamy znak: Bit31= 1 jeżeli liczba ujemna, 0 jeżeli dodatnia

2) Szukamy największej liczby postaci 2w mniejszej niż liczba

3) Zapisujemy wykładnik = w + nadmiar

4) Dzielimy liczbę przez 2w (wynik będzie miał postać 1.xxxx)

5) Odejmujemy 1 i szukamy mantysy

6) Zaznaczamy bit jako 1 jeżeli po odjęciu 1/(2(23-bit)) (dla pojedynczej precyzji) mamy wartość nieujemną. Jeżeli otrzymamy wartość ujemną, zaznaczamy bit jako 0 i ignorujemy tę operację. Procedurę powtarzamy aż w wyniku odejmowania otrzymamy 0 lub dojdziemy do bitu nr 0.

Procedura zapisu:

1) Określamy znak: Bit31= 1 jeżeli liczba ujemna, 0 jeżeli dodatnia

2) Szukamy największej liczby postaci 2w mniejszej niż liczba

3) Zapisujemy wykładnik = w + nadmiar

4) Dzielimy liczbę przez 2w (wynik będzie miał postać 1.xxxx)

5) Odejmujemy 1 i szukamy mantysy

6) Zaznaczamy bit jako 1 jeżeli po odjęciu 1/(2(23-bit)) (dla pojedynczej precyzji) mamy wartość nieujemną. Jeżeli otrzymamy wartość ujemną, zaznaczamy bit jako 0 i ignorujemy tę operację. Procedurę powtarzamy aż w wyniku odejmowania otrzymamy 0 lub dojdziemy do bitu nr 0.

Jedynka wiodąca

Konwerter z liczby dziesiętnej na dwójkową w standardzie IEEE 754

Page 55: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 55WN

Standard IEEE 754

Przykład: (zapisujemy liczbę 14.5) (nadmiar 127)

1) Liczba jest dodatnia Bit31 = 0

2) Największa liczba 2w mniejsza niż 14.5 to 23 = 8 w = 3

3) Zapisujemy wykładnik = 127 + w = 130 10000010

4) 14.5/23 = 1.8125

5) odejmujemy 1 i otrzymujemy 0.8125

0.8125-1/2=0.3125 bit22 = 1

0.3125-1/4=0.0625 bit21 = 1

0.0625-1/8= -0.0625 bit20 = 0 ignorujemy operację

0.0625-1/16= 0.0 bit19 = 1

Pozostałe bity mantysy = 0

Przykład: (zapisujemy liczbę 14.5) (nadmiar 127)

1) Liczba jest dodatnia Bit31 = 0

2) Największa liczba 2w mniejsza niż 14.5 to 23 = 8 w = 3

3) Zapisujemy wykładnik = 127 + w = 130 10000010

4) 14.5/23 = 1.8125

5) odejmujemy 1 i otrzymujemy 0.8125

0.8125-1/2=0.3125 bit22 = 1

0.3125-1/4=0.0625 bit21 = 1

0.0625-1/8= -0.0625 bit20 = 0 ignorujemy operację

0.0625-1/16= 0.0 bit19 = 1

Pozostałe bity mantysy = 0

01000001011010000000000000000000

znakwykładnik mantysa

Page 56: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 56WN

Standard IEEE 754

Pojedyncza precyzja: mantysa 23 bity, wykładnik 8 bitów, znak 1 bit, nadmiar 28/2 - 1 = 127

Podwójna precyzja: mantysa 52 bity, wykładnik 11 bitów, znak 1 bit, nadmiar 211/2 - 1 = 1023

Rozszerzona podwójna precyzja: mantysa 64 bity, wykładnik 15 bitów (nadmiar 264/2 - 1 = 16383), znak 1 bit

Pojedyncza precyzja: mantysa 23 bity, wykładnik 8 bitów, znak 1 bit, nadmiar 28/2 - 1 = 127

Podwójna precyzja: mantysa 52 bity, wykładnik 11 bitów, znak 1 bit, nadmiar 211/2 - 1 = 1023

Rozszerzona podwójna precyzja: mantysa 64 bity, wykładnik 15 bitów (nadmiar 264/2 - 1 = 16383), znak 1 bit

Page 57: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 57WN

Standard IEEE 754

Precyzja jest określana przez liczbę miejsc po przecinku, czyli jest określana przez mantysę.

Najmniejsza wartość możliwa do zapisania w mantysie

Pojedyncza precyzja:

Mantysa ma 23 bity 1/223 ≈ 1.2* 10-7 7 cyfr po przecinku

Podwójna precyzja

Mantysa ma 52 bity 1/252 ≈ 2.2* 10-16 15-16 cyfr po przecinku

Rozszerzona podwójna precyzja

Mantysa ma 64 bity 1/264 ≈ 5.4* 10-20 19 cyfr po przecinku

Precyzja jest określana przez liczbę miejsc po przecinku, czyli jest określana przez mantysę.

Najmniejsza wartość możliwa do zapisania w mantysie

Pojedyncza precyzja:

Mantysa ma 23 bity 1/223 ≈ 1.2* 10-7 7 cyfr po przecinku

Podwójna precyzja

Mantysa ma 52 bity 1/252 ≈ 2.2* 10-16 15-16 cyfr po przecinku

Rozszerzona podwójna precyzja

Mantysa ma 64 bity 1/264 ≈ 5.4* 10-20 19 cyfr po przecinku

Page 58: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 58WN

Znaki i teksty

Teksty składają się ze znaków Podstawą zapisu jest jeden bajt 1 bajt przyjmuje 256 różnych wartości Ważną cechą kodowania jest jednoznaczność:

przyjęcie pewnego sposobu kodowania powinno być powszechne:ASCII: 0 – 127 standardowe, 128 – 256 zależne od kraju

Teksty składają się ze znaków Podstawą zapisu jest jeden bajt 1 bajt przyjmuje 256 różnych wartości Ważną cechą kodowania jest jednoznaczność:

przyjęcie pewnego sposobu kodowania powinno być powszechne:ASCII: 0 – 127 standardowe, 128 – 256 zależne od kraju

Znaki specjalne 0-31

Spacja 32

Cyfry 48 – 57

Wielkie litery 65 – 90

Małe litery 97 - 122

Pozostałe kody:

Kropka, przecinek, itd…

33-47, 58-64, 91-96, 123-127

Np.Litera W: 01010111

kod binarny 87

Kod znaku ZnakASCII (American Standard Code for Information Interchange)

W

Page 59: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 59WN

Kody UNICODE

256 znaków alfanumerycznych jakie można zakodować za pomocą rozszerzonego kodu ASCII nie dawało możliwości zakodowania znaków diakrytycznych wielu języków np. polskiego.

Odpowiedzią jest kod nazwany UNICODE o długości 16 bitów dla każdego znaku. Daje to możliwość zakodowania 216, czyli 65536 znaków.

256 znaków alfanumerycznych jakie można zakodować za pomocą rozszerzonego kodu ASCII nie dawało możliwości zakodowania znaków diakrytycznych wielu języków np. polskiego.

Odpowiedzią jest kod nazwany UNICODE o długości 16 bitów dla każdego znaku. Daje to możliwość zakodowania 216, czyli 65536 znaków.

Page 60: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 60WN

Obrazy, dźwięki, …..

Ciągi bajtów muszą przechować teksty, liczby, muzykę, animacje: wszystkie informacje zapisywane w wyniku wykonywanych działań.

Potrzebne jest zakodowanie informacji, inne niż w przypadku liczb czy też tekstów.

Kodowanie koloru bit = 0 biały bit = 1 czarny kolor budowany jest z kilku bitów

Kodowanie rysunku obraz mapa bitowa. (plik .bmp) dokładne (formaty .tif, .gif) uproszczone (format .jpg)

Kodowanie muzyki mp3 mp4 – DVD

Im większa precyzja tym większy rozmiar pliku

Ciągi bajtów muszą przechować teksty, liczby, muzykę, animacje: wszystkie informacje zapisywane w wyniku wykonywanych działań.

Potrzebne jest zakodowanie informacji, inne niż w przypadku liczb czy też tekstów.

Kodowanie koloru bit = 0 biały bit = 1 czarny kolor budowany jest z kilku bitów

Kodowanie rysunku obraz mapa bitowa. (plik .bmp) dokładne (formaty .tif, .gif) uproszczone (format .jpg)

Kodowanie muzyki mp3 mp4 – DVD

Im większa precyzja tym większy rozmiar pliku

Page 61: Podstawy informatyki

Kodowanie i liczbyPodstawy informatyki 61WN

Kompresja i szyfrowanie

KompresjaDziałanie mające na celu zmniejszanie objętości pliku. Przy kompresji wykorzystuje się podobieństwa i regularności występujące w plikach. Program przeprowadza analizę i wybiera fragmenty, które można zapisać w sposób zajmujący mniejszą liczbę bajtów.

Kompresja bezstratna: odtworzona informacja jest identyczna z oryginałem; dekompresja jest w pełni odwracalna.

Kompresja stratna: polega ona na eliminowaniu pewnych elementów oryginału, w celu lepszej efektywności kompresji. Możemy powiązać jakość ze stopniem kompresji.

Szyfrowanie Najczęściej stosowane algorytmy oparte na wykorzystaniu liczb pierwszych. Informacja jest szyfrowana przed wysłaniem, odczytanie wymaga posiadania deszyfratora oraz co najmniej jednego klucza.

KompresjaDziałanie mające na celu zmniejszanie objętości pliku. Przy kompresji wykorzystuje się podobieństwa i regularności występujące w plikach. Program przeprowadza analizę i wybiera fragmenty, które można zapisać w sposób zajmujący mniejszą liczbę bajtów.

Kompresja bezstratna: odtworzona informacja jest identyczna z oryginałem; dekompresja jest w pełni odwracalna.

Kompresja stratna: polega ona na eliminowaniu pewnych elementów oryginału, w celu lepszej efektywności kompresji. Możemy powiązać jakość ze stopniem kompresji.

Szyfrowanie Najczęściej stosowane algorytmy oparte na wykorzystaniu liczb pierwszych. Informacja jest szyfrowana przed wysłaniem, odczytanie wymaga posiadania deszyfratora oraz co najmniej jednego klucza.