E1Cyfrowy zapis informacji

background image

24 kwietnia 2013

Wojciech Kucewicz

1

background image

24 kwietnia 2013

Wojciech Kucewicz

2

Cyfrowy zapis

informacji

Cyfrowy zapis

informacji

background image

24 kwietnia 2013

Wojciech Kucewicz

3

Bit, Bajt, Słowo

Bit, Bajt, Słowo

background image

24 kwietnia 2013

Wojciech Kucewicz

4

Cyfrowy zapis informacji

Cyfrowy zapis informacji

Bit

[ang.

bi

nary digi

t

] jest elementem zbioru

dwuelementowego używanym do reprezentowania

informacji. Bit może mieć wartość 1 lub 0.

1

0

0

1

1

0

0

0

Bit

MSB

– bit najbardziej znaczący

LSB

– bit najmniej znaczący

background image

24 kwietnia 2013

Wojciech Kucewicz

5

Cyfrowy zapis informacji

Cyfrowy zapis informacji

1

0

0

1

1

0

0

0

Bajt (byte)

ciąg złożony z 8 bitów. Bajt pozwala na zapisanie

w systemie binarnym 2

8

liczb (0 -255)

Ciąg 4 bitów nazywamy czasami

nible (nibble).

Byte

background image

24 kwietnia 2013

Wojciech Kucewicz

6

Cyfrowy zapis informacji

Cyfrowy zapis informacji

Słowo (word)

jest informacją złożoną z n bajtów. Słowo

może zkładać się z 8, 16, 32 lub 64 bitów.

Słowo jest traktowane przez układy komputera jako dane

do wykonywanej aktualnie operacji, bądź jako zakodowany

rozkaz.

1

0

0

1

1

0

0

0

1

0

0

1

1

0

0

0

Word

background image

24 kwietnia 2013

Wojciech Kucewicz

7

Cyfrowy zapis informacji

Cyfrowy zapis informacji

Rozmiar słowa

Maksymalna liczba możliwa do zapisania

8 bits

255

16 bits

65535

32 bits

4 294 967 295

64 bits

18 446 744 073 709 551 615

background image

24 kwietnia 2013

Wojciech Kucewicz

8

Kody liczbowe

Kody liczbowe

Cyfrowy zapis informacji

Cyfrowy zapis informacji

background image

24 kwietnia 2013

Wojciech Kucewicz

9

Kody liczbowe

Kody liczbowe

Najbardziej rozpowszechnionymi kodami liczbowymi są kody

naturalne.

Zapis liczb w kodzie naturalnym jest pozycyjny tj. każdy znak a

i

zajmuje ściśle określoną pozycję i, której przyporządkowana jest

odpowiednia waga w

i

= p

i

, gdzie p jest podstawą kodu liczbowego.

Podstawa kodu określa ilość znaków używanych w kodzie.

background image

24 kwietnia 2013

Wojciech Kucewicz

10

Kod dziesiętny

Kod dziesiętny

Powszechnie stosowany jest kod (system) dziesiętny. Został

opracowany w Indiach ok. V wieku i poprzez Arabów upowszechnił się

w Europie.

Oparty jest na dziesięciu znakach (cyfrach):

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Ilość znaków jest podstawą systemu –

p = 10

Dowolną liczbę x przedstawia się za pomocą słowa A składającego się

z n cyfr zgodnie ze wzorem:

x = L(A) =

aj …a

4

a

3

a

2

a

1

a

0

,a

-1

a

-2

gdzie

a

jest jednym z używanych znaków, a indeks

j

jest potęgą

podstawy

p

przez którą znak jest mnożony.

background image

24 kwietnia 2013

Wojciech Kucewicz

11

Kod dziesiętny

Kod dziesiętny

Liczba

a

j

… a

1

a

0

, a

-1

a

-2

a

j

•p

j

+ ...+ a

1

•10

1

+ a

0

•10

0

+ a

-1

•10

-1

+ a

-2

•10

-2

Przykład:

Liczbę

4321

można zapisać jako:

4321 =

4•10

3

+ 3•10

2

+ 2•10

1

+ 1•10

0

= 4000 + 300 + 20 + 1 = 4321

10

Oznacza kod

Przy pomocy n cyfr możemy zapisać p

n

liczb (od 0 do p

n

– 1)

background image

24 kwietnia 2013

Wojciech Kucewicz

12

Kod binarny

Kod binarny

W technice cyfrowej najczęściej jest stosowany kod dwójkowy

(binarny)

Oparty jest na dwóch znakach:

0, 1

Podstawa systemu –

p = 2

Przykład

Liczbę

1000011100001

2

można zapisać jako

1•2

12

+ 0•2

11

+ 0•2

10

+ 0•2

9

+ 0•2

8

+

1•2

7

+ 1•2

6

+ 1•2

5

+ 0•2

4

+ 0•2

3

+ 0•2

2

+

0•2

1

+

1•2

0

=

4096+128+64+32+1

= 4321

10

background image

24 kwietnia 2013

Wojciech Kucewicz

13

Kod oktagonalny

Kod oktagonalny

Kod oktagonalny oparty jest na ośmiu znakach:

0, 1, 2, 3, 4, 5, 6, 7

Podstawa systemu –

p = 8

Przykład

Liczbę

10341

8

można zapisać jako

1•8

4

+ 0•8

3

+

3•8

2

+

4•8

1

+

1•8

0

= 4096+192+32+1= 4321

10

background image

24 kwietnia 2013

Wojciech Kucewicz

14

Kod heksadecymalny

Kod heksadecymalny

Kod heksadecymalny oparty jest na szesnastu znakach:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Podstawa systemu –

p = 16

Przykład

Liczbę

10EA

16

można zapisać jako

1•16

3

+ 0•16

2

+

14•16

1

+

10•16

0

= 4096+224+1= 4321

10

background image

24 kwietnia 2013

Wojciech Kucewicz

15

Kody liczbowe

Kody liczbowe

Kod dziesiętny

Kod binarny

Kod octagonalny

Kod heksadecymalny

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

background image

24 kwietnia 2013

Wojciech Kucewicz

16

Konwersja liczb między

różnymi kodami

Konwersja liczb między

różnymi kodami

Cyfrowy zapis informacji

Cyfrowy zapis informacji

background image

24 kwietnia 2013

Wojciech Kucewicz

17

Kod dziesiętny kod binarny

Kod dziesiętny kod binarny

Zamiana liczby całkowitej

50

10

na binarną:

50

10

= 110010

2

Dzielenie przez

podstawę

Wynik dzielenia

Reszta

Liczba binarna

a

0

a

1

a

2

a

3

a

4

a

5

50/2 =

25

0

0

25/2 =

12

1

1

12/2 =

6

0

0

6/2 =

3

0 

0

3/2 =

1

1

1

1/2 =

0

1 

1

background image

24 kwietnia 2013

Wojciech Kucewicz

18

Mnożenie przez

podstawę

Wynik mnożenia

Reszta

Liczba binarna

a

-1

a

-2

a-

3

Kod dziesiętny kod binarny

Kod dziesiętny kod binarny

Zamiana liczby ułamkowej

0,375

10

na binarną :

0,375

10

= 0.011

2

0,375 2 = 0

0,75

0

0,75 2 =

1

0,5

1

0,5 2 =

1

0

1

background image

24 kwietnia 2013

Wojciech Kucewicz

19

Kod dziesiętny kod binarny

Kod dziesiętny kod binarny

Zamiana liczby dziesiętnej

50,375

10

na binarną wykonuje się w

dwóch krokach:

50,375

10

=50 + 0,375 = 110010 + 0,011 = 110010,011

2

1) Konwersja części całkowitej

2) Konwersja części ułamkowej

background image

24 kwietnia 2013

Wojciech Kucewicz

20

Mnożenie przez

podstawę

Wynik mnożenia

Reszta

Liczba binarna

a

-1

a

-2

a-

3

a

-4

a

-5

a-

6

Kod dziesiętny kod binarny

Kod dziesiętny kod binarny

Niektóre ułamki można tylko w przybliżeniu przedstawić w postaci

binarnej

np. 0,3

:

0,3

10

= 0,010011….

2

0,3 2 =

0

0,6

0

0,6 2 =

1

0,2

1

0,2 2 =

0

0,4

0

0,4 2 =

0

0,8

0

0,8 2 =

1

0,6

1

0,6 2 =

1

0,2

1

background image

24 kwietnia 2013

Wojciech Kucewicz

21

Kod binarny  kod oktagonalny

Kod binarny  kod oktagonalny

Liczbę binarną należy podzielić na segment 3 elementowe poczynając

od przecinka w obie strony a następnie każdy segment zamienić na

liczbę oktagonalną:

110010,011

2

110 010, 011

2

6 2, 3

8

62,3

8

Liczbę oktagonalną zamieniamy na liczbę binarną postępując

odwrotnie

110010,011

2

110 010, 011

2

6 2, 3

8

62,3

8

background image

24 kwietnia 2013

Wojciech Kucewicz

22

Kod binarny  kod heksadecymalny

Kod binarny  kod heksadecymalny

Liczbę binarną należy podzielić na segment 4 elementowe poczynając

od przecinka w obie strony, a następnie każdy segment zamienić na

liczbę heksadecymalną:

110010,011

2

0011 0010, 0110

2

3 2, 6

16

32,6

16

Liczbę heksadecymalną zamieniamy na liczbę binarną postępując

odwrotnie

110010,011

2

0011 0010, 0110

2

3 2, 6

16

32,6

16

background image

24 kwietnia 2013

Wojciech Kucewicz

23

Kod alfanumeryczny

Kod alfanumeryczny

Cyfrowy zapis informacji

Cyfrowy zapis informacji

background image

24 kwietnia 2013

Wojciech Kucewicz

24

Kod alfanumeryczny ASCII

Kod alfanumeryczny ASCII

W komputerach musi być jakiś sposób przedstawiania oprócz liczb

także liter i innych symboli. Określenie alfanumeryczny jest

stosowane do tych symboli, które zawierają także cyfry dziesiętne.

Sposób przyporządkowania odpowiedniego kodu symbolom

alfanumerycznym nazywamy kodem

ASCII

od angielskiej nazwy

dokumentu:

A

merican

S

tandard

C

ode for

I

nformation

I

nterchange.

Kod ASCII został zaproponowany w roku 1968.

Kod ASCII jest kodem 7-bitowym, często 8 bit wykorzystuje się do

kontroli parzystości.

W latach 80-tych powstał standard

ISO 8859 (Extended ASCII),

który definiuje dodatkowe 128 znaków charakterystycznych dla

różnych języków.

background image

24 kwietnia 2013

Wojciech Kucewicz

25

Kod alfanumeryczny ASCII

Kod alfanumeryczny ASCII

Character

ASCII

(bin)

ASCII

(hex)

Decimal

Octal

A

1000001

41

65

101

B

1000010

42

66

102

C

1000011

43

67

103

K

1001011

4B

75

113

a

1100001

61

97

141

1

0110001

31

49

61

0100111

27

39

47

Znaki w kodzie ASCII są przyporządkowane liczbom, które można

zapisać w dowolnym kodzie numerycznym.

background image

24 kwietnia 2013

Wojciech Kucewicz

26

Kod alfanumeryczny ASCII

Kod alfanumeryczny ASCII

Przykład:

Euro 2012

Wyrażenie

Binarnie

Octagonalnie Heksadecymalnie Decymalnie

E

01000101

105

45

69

u

01110101

165

75

117

r

01110010

162

72

114

o

01101111

157

6F

111

00100000

40

20

32

2

00110010

62

32

50

0

00110000

60

30

48

1

00110001

61

31

49

2

00110010

62

32

50

010001010111010101110010011011110010000000110010001100000011000100110010

background image

24 kwietnia 2013

Wojciech Kucewicz

27

Transmisja informacji

Transmisja informacji

1. Dane w kodzie ASCII wprowadzane

są z klawiatury

2. Przemieszczane są w blokach

(bajtach) przy użyciu procesora

3. Gromadzone są w pamięci

background image

24 kwietnia 2013

Wojciech Kucewicz

28

Kod Gray’a

Kod Gray’a

Cyfrowy zapis informacji

Cyfrowy zapis informacji

background image

24 kwietnia 2013

Wojciech Kucewicz

29

Kod BCD Gray’a

Kod BCD Gray’a

L.

dzies.

L. bin.

B

n

…B

i

…B

0

Kod Gray’a

G

n

…G

i

…G

0

L. dzies.

L. bin

B

n

…B

i

…B

0

Kod Gray’a

G

n

…G

i

…G

0

0

0000

0000

8

1000

1100

1

0001

0001

9

1001

1101

2

0010

0011

10

1010

1111

3

0011

0010

11

1011

1110

4

0100

0110

12

1100

1010

5

0101

0111

13

1101

1011

6

0110

0101

14

1110

1001

7

0111

0100

15

1111

1000

Kod Gray’a ma taką właściwość, że jego sąsiednie słowa różnią się tylko

jednym bitem:

G

n

= B

n

G

i

= (B

i

+ B

i+1

) mod. 2

background image

24 kwietnia 2013

Wojciech Kucewicz

30

Kody BCD

Kody BCD

Cyfrowy zapis informacji

Cyfrowy zapis informacji

background image

24 kwietnia 2013

Wojciech Kucewicz

31

Kod BCD 8421

Kod BCD 8421

Cyfra

Kod
BCD8421

Cyfra

Kod
BCD8421

0

0000

5

0101

1

0001

6

0110

2

0010

7

0111

3

0011

8

1000

4

0100

9

1001

W kodzie BCD (ang. Binary coded decimal) każda cyfra liczb dziesiętnej jest

oddzielnie kodowana dwójkowo w postaci 4-bitowego słowa.

Najpopularniejszy jest kod BCD 8421 obejmujący pierwsze 10 liczb z 4-

bitowego naturalnego kodu dwójkowego.

Przykładowo liczba 369

10

będzie zakodowana następująco:

0011 0110 1001

To nie jest liczba 0011 0110 1001 !

3

6

9

background image

24 kwietnia 2013

Wojciech Kucewicz

32

Kod Aikena

Kod Aikena

Cyfra

Kod
Aikena

Cyfra

Kod
Aikena

0

0000

5

1011

1

0001

6

1100

2

0010

7

1101

3

0011

8

1110

4

0100

9

1111

W kodzie BCD (ang. Binary coded decimal) Aikena waga bitów jest 2-4-2-1.

Uzupełnienie do 1 liczb binarnych w tym kodzie daje uzupełnienie do 9

odpowiednich liczb dziesiętnych.

Np. 4  0100  U1=1011  U9=2+2+1=5

Kod z taką właściwością nazywamy kodem samouzupełniającym.

background image

24 kwietnia 2013

Wojciech Kucewicz

33

Kod z nadmiarem 3 (XS3)

Kod z nadmiarem 3 (XS3)

Cyfra

Kod X3

Cyfra

Kod X3

0

0011

5

1000

1

0100

6

1001

2

0101

7

1010

3

0110

8

1011

4

0111

9

1100

W kodzie BCD (ang. Binary coded decimal) z nadmiarem 3 liczenie zaczyna

się od 0011. Nie występuje cztery 0 lub cztery 1.

Jest to kod samouzupełniający.

background image

24 kwietnia 2013

Wojciech Kucewicz

34

Kod 1 z 10

Kod 1 z 10

Cyfra

Kod 1z10

Cyfra

Kod 1z10

0

00000000001

5

0000010000

1

00000000010

6

0001000000

2

00000000100

7

0010000000

3

0000001000

8

0100000000

4

0000010000

9

1000000000

Kod 1 z 10 jest przykładem kodu k z n. Koncepcyjnie jest to kod do

wprowadzania cyfr kodu dziesiętnego przez 10 dziesięć wzajemnie

wyłączalnych klawiszy. Stosowany jest powszechnie w relacjach człowiek-

układ cyfrowy.

W technice cyfrowej używa się określenia koder, jako nazwy układu

służącego do przetwarzania liczb w kodzie 1 z 10

background image

24 kwietnia 2013

Wojciech Kucewicz

35

Kod 7-segmentowy

Kod 7-segmentowy

Cyfra

Kod 7-segm.

abcdefg

Cyfra

Kod 7-segm.

abcdefg

0

1111110

5

1011011

1

0110000

6

1011111

2

1101101

7

1110000

3

1111001

8

1111111

4

0110011

9

1111011

Kod 7-segmentowy służy do wyświetlania cyfr na wskaźniku 7-segmentowym.

Każda cyfra jest tworzona przez „zapalenie” odpowiednich segmentów

wskaźnika.

a

a

b

b

c

c

d

d

g

g

f

f

e

e

a

a

b

b

c

c

d

d

g

g

f

f

e

e

background image

24 kwietnia 2013

Wojciech Kucewicz

36

Zapis liczb dwójkowych

ze znakiem

Zapis liczb dwójkowych

ze znakiem

Cyfrowy zapis informacji

Cyfrowy zapis informacji

background image

24 kwietnia 2013

Wojciech Kucewicz

37

Liczby naturalne

Liczby naturalne

0100 0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000

0001

0010

0011

+4

+4

+5

+5

+6

+6

+7

+7

88

99

10

10

11

11

12

12

13

13

14

14

15

15

00

+1

+1

+2

+2

+3

+3

L. dzies.

L. binarna

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111

15 + 1 = ?

1111 + 1 =

1

0000

1

background image

24 kwietnia 2013

Wojciech Kucewicz

38

Zapis dwójkowy ze znakiem

Zapis dwójkowy ze znakiem

W zbiorze liczb rzeczywistych istnieją liczby ujemne, które oznacza się

znakiem minus (-).

W dwójkowym systemie liczbowym znak liczby może być wprowadzony tylko

w postaci odrębnego

bitu znaku.

Bitem znaku jest zawsze bit najbardziej

znaczący.

Jeżeli bit znaku jest równy 1, to reprezentuje umownie znak „-”,

natomiast gdy jest równy 0 odpowiada znakowi „+”.

background image

24 kwietnia 2013

Wojciech Kucewicz

39

Zapis dwójkowy ze znakiem

Zapis dwójkowy ze znakiem

L. dzies.

L. binarna

Znak

0

0000

+

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

-

9

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111

0100 0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000

0001

0010

0011

background image

24 kwietnia 2013

Wojciech Kucewicz

40

Zapis dwójkowy ze znakiem

Zapis dwójkowy ze znakiem

Istnieją trzy zasadnicze sposoby kodowania liczb

dwójkowych ze znakiem:

znak-moduł (ZM)

znak-uzupełnienie do 1 (U1)

znak-uzupełnienie do 2 (U2)

background image

24 kwietnia 2013

Wojciech Kucewicz

41

Uzupełnienie do 9

Uzupełnienie do 9

Odejmowanie

83 – 53 = 83 + (-53) = 30

Liczba ujemna -53

99 – 53 = 46  uzupełnienie do 9

83 + 46 = 129  29 + 1 = 30

background image

24 kwietnia 2013

Wojciech Kucewicz

42

Uzupełnienie do 10

Uzupełnienie do 10

Odejmowanie

83 – 53 = 83 + (-53) = 30

Liczba ujemna -53

100 – 53 = 47  uzupełnienie do 10

83 + 47 = 130

X

background image

24 kwietnia 2013

Wojciech Kucewicz

43

Zapis dwójkowy w kodzie ZM

Zapis dwójkowy w kodzie ZM

L. dzies.

L. binarna

L. całko.

0

0000

0

1

0001

1

2

0010

2

3

0011

3

4

0100

4

5

0101

5

6

0110

6

7

0111

7

8

1000

-0

9

1001

-1

10

1010

-2

11

1011

-3

12

1100

-4

13

1101

-5

14

1110

-6

15

1111

-7

0100 0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000

0001

0010

0011

+4

+4

+5

+5

+6

+6

+7

+7

-0

-0

-1

-1

-2

-2

-3

-3

-4

-4

-5

-5

-6

-6

-7

-7

00

+1

+1

+2

+2

+3

+3

background image

24 kwietnia 2013

Wojciech Kucewicz

44

Zapis dwójkowy ZM

Zapis dwójkowy ZM

Zakres liczbowy zależy od ilości bitów. Dla n –bitów wynosi

-(2

n-1

-1) ≤ L(A) ≤ +(2

n-1

-1)

np. za pomocą 8-bitowego słowa (1 bajtu) można przedstawiać liczby od -127

do 127.

Liczba

12

będzie miała formę

00001100

Liczba

-12

będzie miała formę

10001100

W zapisie ZM liczba zero może przyjmować dwie formy:

00000000 lub 10000000

Podwójna reprezentacja O może stwarzać problemy przy realizacji

algorytmów arytmetycznych (wada).

background image

24 kwietnia 2013

Wojciech Kucewicz

45

Zapis dwójkowy w kodzie U 1

Zapis dwójkowy w kodzie U 1

W kodzie uzupełnienia do 1 (ang. 1’s complement) liczby dodatnie

reprezentowane są jak w kodzie binarnym pod warunkiem, że najbardziej

znaczący bit ma wartość 0. Liczby ujemne na najbardziej znaczącej pozycji

mają 1, a pozostałe bity mają przeciwne wartości niż w przypadku liczby

dodatniej.

Uzupełnieniem liczby N w kodzie U1 jest liczba C:

C

U1

= (2

n

– 1) – N

np. dla liczby N = 12 w formacie 8-bitowym, liczba –12

U1

wynosi:

1 1 1 1 1 1 1 1

- 0 0 0 0 1 1 0 0

1 1 1 1 0 0 1 1

(2

n

– 1)

- N

U1

N

background image

24 kwietnia 2013

Wojciech Kucewicz

46

Zapis dwójkowy w kodzie U 1

Zapis dwójkowy w kodzie U 1

24 kwietnia 2013

Wojciech Kucewicz

46

L. dzies.

L. binarna

L. całko.

0

0000

0

1

0001

1

2

0010

2

3

0011

3

4

0100

4

5

0101

5

6

0110

6

7

0111

7

8

1000

-7

9

1001

-6

10

1010

-5

11

1011

-4

12

1100

-3

13

1101

-2

14

1110

-1

15

1111

-0

0100 0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000

0001

0010

0011

+4

+4

+5

+5

+6

+6

+7

+7

-7

-7

-6

-6

-5

-5

-4

-4

-3

-3

-2

-2

-1

-1

-0

-0

00

+1

+1

+2

+2

+3

+3

background image

24 kwietnia 2013

Wojciech Kucewicz

47

Zapis dwójkowy w kodzie U 1

Zapis dwójkowy w kodzie U 1

Zakres liczbowy zależy od ilości bitów. Dla n –bitów wynosi

-(2n-1-1) ≤ L(A) ≤ +(2n-1 -1)

np. za pomocą 8-bitowego słowa (1 bajtu) można przedstawiać liczby od -127

do 127.

Liczba

12

będzie miała formę

00001100

Liczba

-12

będzie miała formę

11110011

Liczba 0 ma także dwie reprezentacje:

dodatnią – 00000000

ujemną - 11111111

Liczbę ujemną w formacie U

1

uzyskuje się przez zanegowanie wszystkich

bitów liczby dodatniej

background image

24 kwietnia 2013

Wojciech Kucewicz

48

Zapis dwójkowy w kodzie U 2

Zapis dwójkowy w kodzie U 2

W kodzie uzupełnienia do 2 (ang. 2’s complement) liczby dodatnie

reprezentowane są jak w kodzie binarnym pod warunkiem, że najbardziej

znaczący bit ma wartość 0. Liczba ujemna X w kodzie U2 reprezentowana

takim samym słowem jak liczba X+1 w kodzie U1.

Uzupełnieniem liczby N w kodzie U2 jest liczba C:

C

U2

= 2

n

– N = (2

n

– 1) - N +1 = C

U1

+ 1

np. dla liczby N = 12 w formacie 8-bitowym, liczba –12

U2

wynosi:

1 0 0 0 0 0 0 0 0
- 0 0 0 0 1 1 0 0

1 1 1 1 0 1 0 0

2

n

- N

U2

N

background image

24 kwietnia 2013

Wojciech Kucewicz

49

Zapis dwójkowy w kodzie U 2

Zapis dwójkowy w kodzie U 2

24 kwietnia 2013

Wojciech Kucewicz

49

L. dzies.

L. binarna

L. całko.

0

0000

0

1

0001

1

2

0010

2

3

0011

3

4

0100

4

5

0101

5

6

0110

6

7

0111

7

8

1000

-8

9

1001

-7

10

1010

-6

11

1011

-5

12

1100

-4

13

1101

-3

14

1110

-2

15

1111

-1

0100 0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000

0001

0010

0011

+4

+4

+5

+5

+6

+6

+7

+7

-8

-8

-7

-7

-6

-6

-5

-5

-4

-4

-3

-3

-2

-2

-1

-1

00

+1

+1

+2

+2

+3

+3

background image

24 kwietnia 2013

Wojciech Kucewicz

50

Zapis dwójkowy w kodzie U 2

Zapis dwójkowy w kodzie U 2

Zakres liczbowy zależy od ilości bitów. Dla n –bitów wynosi

-(2n-1-1) ≤ L(A) ≤ +(2n-1 -1)

np. za pomocą 8-bitowego słowa (1 bajtu) można przedstawiać liczby od -128

do 127.

Liczba

12

będzie miała formę

00001100

Liczba

-12

będzie miała formę

11110100

Liczba 0 ma reprezentację:

00000000

Liczbę ujemną w formacie U

2

uzyskuje się przez zanegowanie wszystkich

bitów liczby dodatniej i dodanie 1

background image

24 kwietnia 2013

Wojciech Kucewicz

51

Reprezentacja liczb w różnych

zapisach

Reprezentacja liczb w różnych

zapisach

Liczba

dziesiętna

Liczba

heksadecymalna

ZM

U1

U2

-128

80

-

-

1000 0000

-127

81

1111 1111

1000 0000

1000 0001

-64

C0

1100 0000

1101 11111

1100 0000

-16

F0

1001 0000

1110 1111

1111 0000

-2

FE

1000 0010

1111 1101

1111 1110

-1

FF

1000 0001

1111 1110

1111 1111

0

0

0000 0000

1000 0000

0000 0000

1111 1111

0000 0000

1

1

0000 0001

0000 0001

0000 0001

127

7F

0111 1111

0111 1111

0111 1111

background image

24 kwietnia 2013

Wojciech Kucewicz

52

Dodawanie

liczb binarnych

ze znakiem

Dodawanie

liczb binarnych

ze znakiem

background image

24 kwietnia 2013

Wojciech Kucewicz

53

Dodawanie liczb w kodzie ZM

Dodawanie liczb w kodzie ZM

Liczby A i B są dodatnie

Liczba A>0 a liczba B<0

Liczba A<0 a liczba B>0

Liczby A i B są ujemne

background image

24 kwietnia 2013

Wojciech Kucewicz

54

Dodawanie liczb w kodzie U1

Dodawanie liczb w kodzie U1

Liczby A i B są dodatnie

Liczba A>0 a liczba B<0

Liczba A<0 a liczba B>0

Liczby A i B są ujemne

background image

24 kwietnia 2013

Wojciech Kucewicz

55

Dodawanie liczb w kodzie U2

Dodawanie liczb w kodzie U2

Liczby A i B są dodatnie

Liczba A>0 a liczba B<0

Liczba A<0 a liczba B>0

Liczby A i B są ujemne

background image

24 kwietnia 2013

Wojciech Kucewicz

56

Liczby

zmiennoprzecinkowe

Liczby

zmiennoprzecinkowe

background image

24 kwietnia 2013

Wojciech Kucewicz

57

Liczby zmiennoprzecinkowe

Liczby zmiennoprzecinkowe

Omawiane do tej pory liczby były przedstawiane w tak zwanej

reprezentacji stałoprzecinkowej (fixed-point notation), w której

położenie kropki jest stałe niezależne od wielkości liczb.

Przykładowo format 8-bitowy liczby można zapisać następująco:

XXXX.XXXX

Jeżeli liczby wprowadzone do tego formatu znacznie się od siebie

różnią np.

A=1234,00 i B=0,0005579

to wiąże się to z dużym błędem

obcięcia liczby B:

A = 1234,0000

B = 0000,0005

background image

24 kwietnia 2013

Wojciech Kucewicz

58

Liczby zmiennoprzecinkowe

Liczby zmiennoprzecinkowe

Aby uniknąć błędów zapisu reprezentacji stałoprzecinkowej (fixed

point notation), stosuje się również zmiennoprzecinkowy zapis liczb

(floating-poit notation)

Reprezentację zmiennoprzecinkową liczby L definiuje się jako

złożenie dwóch słów M i W

L = M * p

W

gdzie

słowo M (mantysa)

– liczba ułamkowa ze znakiem

słowo W (wykładnik) – liczba

całkowita ze znakiem

p

- podstawa kodu zastosowane do zapisu M i W

Przykładowo liczby

A=1234,0 i B=0,0005579

można zapisać:

A = 0,1234 * 10

4

B = 0,5579 * 10

-3

background image

24 kwietnia 2013

Wojciech Kucewicz

59

Liczby zmiennoprzecinkowe

Liczby zmiennoprzecinkowe

Istotną zaletą reprezentacji zmiennoprzecinkowej jest duży zakres

liczb, które można w ten sposób przedstawić.

W przypadku 4 bitowej mantysy i wykładnika, można przedstawić

liczby w zakresie:

0,0000 * 10

0000

≤ L ≤ 0.9999 * 10

9999

Liczby binarne można przedstawiać w kodzie ZM, U1 lub U2

0,0000 * 2

0000

≤ L ≤ 0.1111 * 2

1111

background image

24 kwietnia 2013

Wojciech Kucewicz

60

Liczby zmiennoprzecinkowe

Liczby zmiennoprzecinkowe

Dodawanie liczb zmiennoprzecinkowych wymaga najpierw wyrównania

wykładników, a następnie właściwa operację dodawania wykonuje się

na mantysach jak na stałoprzecinkowych liczbach ze znakiem.

W celu wyrównania wykładników mniejszy z nich odejmuje się od

większego i mantysę związaną z tym mniejszym przesuwa się w prawo

o liczbę pozycji równą otrzymanej różnicy. Wynik jest sumą mantys

z większym wykładnikiem.

Dodanie liczb binarnych A=0,1101*2

1000

i B=0,1011*2

0101

wykonujemy

następująco:

1000 – 0101 = 0011

(3)

B=0,

000

1011

A+B = (0,1101000 + 0,0001011)*2

1000

=0,1111

011

*2

1000

011

background image

24 kwietnia 2013

Wojciech Kucewicz

61

Zapis dwójkowy w kodzie U 2

Zapis dwójkowy w kodzie U 2

W kodzie uzupełnienia do 2 (ang. 2’s complement) liczby dodatnie

reprezentowane są jak w kodzie binarnym pod warunkiem, że najbardziej

znaczący bit ma wartość 0. Liczba ujemna X w kodzie U2 reprezentowana

takim samym słowem jak liczba X+1 w kodzie U1.

Uzupełnieniem liczby N w kodzie U2 jest liczba C:

C

U2

= 2

n

– N = (2

n

– 1) - N +1 = C

U1

+ 1

Za pomocą n-bitowego słowa (uwzględniając bit znaku) można przedstawić

liczby z zakresu:

-2

n-1

≤ L(A) ≤ +(2

n-1

-1)

background image

24 kwietnia 2013

Wojciech Kucewicz

62

Zapis dwójkowy w kodzie U 2

Zapis dwójkowy w kodzie U 2

Np. za pomocą 8-bitowego słowa (1 bajtu) można przedstawiać liczby od -128

do 127.

Liczba

12

będzie miała formę

00001100

Liczba

-12

będzie miała formę

11110100

Wartość ujemną wylicza się przez odjęcie modułu liczby od liczby 2

n

-12 =

1 0 0 0 0 0 0 0 0
- 0 0 0 0 1 1 0 0

1 1 1 1 0 1 0 0

Liczba 0 ma tylko jedną reprezentację: 00000000

background image

24 kwietnia 2013

Wojciech Kucewicz

63

Reprezentacja liczb w różnych

zapisach

Reprezentacja liczb w różnych

zapisach

Liczba

dziesiętna

Liczba

heksadecymalna

ZM

U1

U2

-128

80

-

-

1000 0000

-127

81

1111 1111

1000 0000

1000 0001

-64

C0

1100 0000

1101 11111

1100 0000

-16

F0

1001 0000

1110 1111

1111 0000

-2

FE

1000 0010

1111 1101

1111 1110

-1

FF

1000 0001

1111 1110

1111 1111

0

0

0000 0000

1000 0000

0000 0000

1111 1111

0000 0000

1

1

0000 0001

0000 0001

0000 0001

127

7F

0111 1111

0111 1111

0111 1111

background image

24 kwietnia 2013

Wojciech Kucewicz

64

Dodawanie

liczb binarnych

ze znakiem

Dodawanie

liczb binarnych

ze znakiem

background image

24 kwietnia 2013

Wojciech Kucewicz

65

Dodawanie liczb w kodzie ZM

Dodawanie liczb w kodzie ZM

Liczby A i B są dodatnie

Liczba A>0 a liczba B<0

Liczba A<0 a liczba B>0

Liczby A i B są ujemne

background image

24 kwietnia 2013

Wojciech Kucewicz

66

Dodawanie liczb w kodzie U1

Dodawanie liczb w kodzie U1

Liczby A i B są dodatnie

Liczba A>0 a liczba B<0

Liczba A<0 a liczba B>0

Liczby A i B są ujemne

background image

24 kwietnia 2013

Wojciech Kucewicz

67

Dodawanie liczb w kodzie U2

Dodawanie liczb w kodzie U2

Liczby A i B są dodatnie

Liczba A>0 a liczba B<0

Liczba A<0 a liczba B>0

Liczby A i B są ujemne

background image

24 kwietnia 2013

Wojciech Kucewicz

68

Liczby

zmiennoprzecinkowe

Liczby

zmiennoprzecinkowe

background image

24 kwietnia 2013

Wojciech Kucewicz

69

Liczby zmiennoprzecinkowe

Liczby zmiennoprzecinkowe

Omawiane do tej pory liczby były przedstawiane w tak zwanej

reprezentacji stałoprzecinkowej (fixed-point notation), w której

położenie kropki jest stałe niezależne od wielkości liczb.

Przykładowo format 8-bitowy liczby można zapisać następująco:

XXXX.XXXX

Jeżeli liczby wprowadzone do tego formatu znacznie się od siebie

różnią np.

A=1234,00 i B=0,0005579

to wiąże się to z dużym błędem

obcięcia liczby B:

A = 1234,0000

B = 0000,0005

background image

24 kwietnia 2013

Wojciech Kucewicz

70

Liczby zmiennoprzecinkowe

Liczby zmiennoprzecinkowe

Aby uniknąć błędów zapisu reprezentacji stałoprzecinkowej (fixed

point notation), stosuje się również zmiennoprzecinkowy zapis liczb

(floating-poit notation)

Reprezentację zmiennoprzecinkową liczby L definiuje się jako

złożenie dwóch słów M i W

L = M * p

W

gdzie

słowo M (mantysa)

– liczba ułamkowa ze znakiem

słowo W (wykładnik) – liczba

całkowita ze znakiem

p

- podstawa kodu zastosowane do zapisu M i W

Przykładowo liczby

A=1234,0 i B=0,0005579

można zapisać:

A = 0,1234 * 10

4

B = 0,5579 * 10

-3

background image

24 kwietnia 2013

Wojciech Kucewicz

71

Liczby zmiennoprzecinkowe

Liczby zmiennoprzecinkowe

Istotną zaletą reprezentacji zmiennoprzecinkowej jest duży zakres

liczb, które można w ten sposób przedstawić.

W przypadku 4 bitowej mantysy i wykładnika, można przedstawić

liczby w zakresie:

0,0000 * 10

0000

≤ L ≤ 0.9999 * 10

9999

Liczby binarne można przedstawiać w kodzie ZM, U1 lub U2

0,0000 * 2

0000

≤ L ≤ 0.1111 * 2

1111

background image

24 kwietnia 2013

Wojciech Kucewicz

72

Liczby zmiennoprzecinkowe

Liczby zmiennoprzecinkowe

Dodawanie liczb zmiennoprzecinkowych wymaga najpierw wyrównania

wykładników, a następnie właściwa operację dodawania wykonuje się

na mantysach jak na stałoprzecinkowych liczbach ze znakiem.

W celu wyrównania wykładników mniejszy z nich odejmuje się od

większego i mantysę związaną z tym mniejszym przesuwa się w prawo

o liczbę pozycji równą otrzymanej różnicy. Wynik jest sumą mantys

z większym wykładnikiem.

Dodanie liczb binarnych A=0,1101*2

1000

i B=0,1011*2

0101

wykonujemy

następująco:

1000 – 0101 = 0011

(3)

B=0,

000

1011

A+B = (0,1101000 + 0,0001011)*2

1000

=0,1111

011

*2

1000

011


Wyszukiwarka

Podobne podstrony:
E1Cyfrowy zapis informacji
7 Cyfrowy Zapis Informacji Nieznany (2)
IO2Cyfrowy zapis informacji
Zapis informacji na nośnikach magnetycznych
Magnetyczny zapis informacji(1), nauka, fizyka, FIZYKA-ZBIÓR MATERIAŁÓW
F1 1 Cyfrowy zapis informacji
01.05 zapis-informacji-swiadek, wypadek
Praca z komputerem to między innymi zapis informacji, Studia, Informatyka, Informatyka, Informatyka
Zapis informacji na dyskach magnetycznych i dyskach optyczny
IO2Cyfrowy zapis informacji
DNA stanowi zapis informacji genetycznej
Sposób z Białegostoku na superszybki zapis informacji z amerykańskim patentem
Polacy znaleźl sposób na ultraszybki zapis informacji
TECHNIKa 2006 zapis i przechowywanie informaji gr1, Do szkoły, GIM TECHNIKA
Sprawdzian z TECHNIKI 2006 gr 2 zapis i przechowywanie informaji, Do szkoły, GIM TECHNIKA
Sprawdzian z TECHNIKI zapis i przechowywanie informaji, Do szkoły, GIM TECHNIKA

więcej podobnych podstron