Cw2 t id 123178 Nieznany

background image

Kody liczbowe

Naturalny Kod Binarny (NKB)

Naturalny kod binarny (NKB) otrzymamy, je

ś

li

zapiszemy liczb

ę

w dwójkowym pozycyjnym systemie

liczbowym

1111

15

0111

7

1110

14

0110

6

1101

13

0101

5

1100

12

0100

4

1011

11

0011

3

1010

10

0010

2

1001

9

0001

1

1000

8

0000

0

NKB

L

(10)

NKB

L

(10)

background image

Naturalny Kod Binarny (NKB)

Zakres liczb przedstawianych w naturalnym kodzie binarnym
za pomoc

ą

n bitów wynosi: 0

L

2

n

-1

0 ÷ 4 294 967 295

4 294 967 296

32

0 ÷ 65 535

65 536

16

0 ÷ 1 023

1 024

10

0 ÷ 255

256

8

0 ÷ 31

32

5

0 ÷ 15

16

4

0 ÷ 7

8

3

0 ÷ 3

4

2

0 ÷ 1

2

1

Zakres liczb

2

n

Liczba bitów n

background image

Kody BCD

Binary Coded Decimal

Cyfry dziesi

ę

tne s

ą

kodowane czterobitowym kodem

binarnym

Łatwa konwersja liczb do i z systemu dziesi

ę

tnego

Jest kodem nadmiarowym (wykorzystuje tylko 10
czterobitowych układów z 16 mo

ż

liwych )

Zastosowanie

urz

ą

dzenia elektroniczne z wy

ś

wietlaczem cyfrowym (np.

kalkulatory, mierniki cyfrowe)

zastosowania finansowe informatyki (ujednoznacznia zapis
cz

ęś

ci ułamkowych kwot i ułatwia dziesi

ę

tne zaokr

ą

glanie)

Wiele procesorów posiada rozkazy umo

ż

liwiaj

ą

ce

wykonanie operacji arytmetycznych w kodzie BCD

background image

Kody BCD

Zalety:

prostsza konwersja do postaci dogodnej do wy

ś

wietlenia

niektóre warto

ś

ci niecałkowite (np. 0,2) maj

ą

w kodzie BCD,

w przeciwie

ń

stwie do NKB, sko

ń

czon

ą

reprezentacj

ę

, dzi

ę

ki

temu system BCD wprowadza mniejsze bł

ę

dy oblicze

ń

mniejsze bł

ę

dy zaokr

ą

glenia liczb w systemie o podstawie

dziesi

ęć

Wady:

operacje arytmetyczne w kodzie BCD s

ą

bardziej

skomplikowane i wolniejsze ni

ż

w NKB, wymagaj

ą

korekcji

dziesi

ę

tnej

background image

Naturalny kod BCD (8421)

Cyfry dziesi

ę

tne s

ą

kodowane w NKB

Nazwa BCD 8421 pochodzi od pierwszych czterech
wag w systemie dwójkowym naturalnym

1000

8

1001

9

0111

7

0110

6

0101

5

0100

4

0011

3

0010

2

0001

1

0000

0

BCD 8421

Cyfra (10)

background image

Naturalny kod BCD (8421)

7249

(10)

= 0111 0010 0100 1001

(BCD)

1000 0110 0111 0010 0101

(BCD)

= 86725

(10)

background image

Formaty BCD

Format upakowany

2 cyfry dziesi

ę

tne w

jednym bajcie

Format nieupakowany

jedna cyfra

dziesi

ę

tna w bajcie

1

0

0

0

0

1

0

1

0

0

0

1

0

1

0

1

1

0

0

0

0

0

0

1

8

5

1

5

8

1

185

(10)

background image

Dodawanie liczb BCD

Dodawanie liczb BCD polega na wykonaniu
zwykłego binarnego dodawania, po którym
wykonuje si

ę

korekcja dziesi

ę

tna

otrzymanego wyniku

Korekcja dziesi

ę

tna przy dodawaniu polega

na dodaniu liczby 6

(10)

(

0110

(2)

) do tych cyfr

dziesi

ę

tnych wyniku

których warto

ść

okazała si

ę

wi

ę

ksza od 9

(nieprawidłowa warto

ść

cyfry dziesi

ę

tnej)

lub

podczas dodawania powstało przeniesienie ze
starszego bitu tetrady

background image

Rejestr znaczników procesora

CF – Carry Flag

przeniesienie

AF – Auxiliary Carry Flag

przeniesienie

pomocnicze

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

NT

OF DF IF TF S F ZF

AF

PF

CF

IOPL

FLAGS

0

1

2

3

4

5

6

7

AF=1

CF=1

background image

Dodawanie upakowanych liczb BCD

0

0

0

0

0

0

0

1

1

0

0

0

0

1

1

1

+

0

0

0

0

0

0

1

1

0

1

0

1

1

0

0

1

0

0

0

0

1

1

1

0

0

1

0

0

1

8

7

+

3

5

9

5

4

6

0

0

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

0

0

0

1

0

1

0

0

0

0

?

+

5

4

6

background image

Dodawanie upakowanych liczb BCD

DAA

instrukcja korekcji dziesi

ę

tnej po dodawaniu

upakowanych liczb BCD

mov

al, 12h

; AL



12

(BCD)

add

al, 39h

; AL



12+39

(BCD)

daa

; korekcja wyniku

je

ś

li (AF=1) lub (3..0 > 9)



AL+6

oraz

je

ś

li (CF=1) lub (7..4 > 9)



AL+60h

0

1

2

3

4

5

6

7

AF=1

CF=1

AL

12h

+ 39h

4Bh

+ 6

51h

background image

Odejmowanie liczb BCD

Odejmowanie liczb BCD polega na
wykonaniu zwykłego binarnego odejmowania,
po którym wykonuje si

ę

korekcja dziesi

ę

tna

otrzymanego wyniku

Korekcja dziesi

ę

tna przy odejmowaniu polega

na odj

ę

ciu liczby 6

(10)

(

0110

(2)

) od tych cyfr

dziesi

ę

tnych wyniku

których warto

ść

okazała si

ę

wi

ę

ksza od 9

(nieprawidłowa warto

ść

cyfry dziesi

ę

tnej)

lub

podczas dodawania powstała po

ż

yczka do

starszego bitu tetrady

background image

Odejmowanie upakowanych liczb BCD

0

0

0

0

0

0

1

1

0

0

0

0

0

1

1

1

-

0

0

0

0

0

0

0

1

0

0

1

0

1

0

0

1

1

1

1

0

1

1

0

1

0

0

1

0

_

3

0

7

1

2

9

1

7

8

0

0

0

0

0

1

1

0

0

1

1

0

1

0

0

0

0

1

1

1

0

0

0

1

0

0

0

0

?

-

1

7

8

background image

Odejmowanie upakowanych liczb BCD

DAS

instrukcja korekcji dziesi

ę

tnej po odejmowaniu

upakowanych liczb BCD

mov

al, 35h

; AL



35

(BCD)

sub

al, 27h

; AL



35-27

(BCD)

das

; korekcja wyniku

je

ś

li (AF=1) lub (3..0 > 9)



AL-6

oraz

je

ś

li (CF=1) lub (7..4 > 9)



AL-60h

0

1

2

3

4

5

6

7

AF=1

CF=1

AL

35h

- 27h

0Eh

- 6

08h

background image

Dodawanie nieupakowanych liczb BCD

AAA

instrukcja korekcji dziesi

ę

tnej po dodawaniu

nieupakowanych liczb BCD

mov

ax, 9

; AH



0,AL



9

add

al, 8

; AL



11h

aaa

; korekcja wyniku

je

ś

li (AF=1) lub (3..0 > 9)



AL (3..0)+6, AL (7..4)



0

AH=AH+1

AF=1

AL

AH

AX

1 0 0 1

0 0 0 1 0 0 0 1

0 0 0 1

0 1 1 1

background image

Odejmowanie nieupakowanych liczb BCD

AAS

instrukcja korekcji dziesi

ę

tnej po odejmowaniu

nieupakowanych liczb BCD

mov

ax, 8

; AH



0,AL



8

sub

al, 9

; AL



8-9

aas

; korekcja wyniku

je

ś

li (AF=1) lub (3..0 > 9)



AL (3..0)-6, AL (7..4)



0

AH=AH-1

AF=1

AL

AH

1 0 0 0

1 1 1 1 1 1 1 1

0 0 0 0 1 0 1 1

-1

background image

Mno

ż

enie nieupakowanych liczb BCD

AAM

instrukcja korekcji dziesi

ę

tnej po mno

ż

eniu

nieupakowanych liczb BCD

mov

bl,6

; BL



6

mov

al, 4

; AL



4

mul

bl

; AX



AL*BL=24

aam

; korekcja wyniku

AH



AL/10, AL



AL mod 10

0

1

0

0

AL

0

0

1

0

AH

AX

0

0

0

1

1

0

0

0

background image

Dzielenie nieupakowanych liczb BCD

AAD

instrukcja korekcji dziesi

ę

tnej przed dzieleniem

nieupakowanych liczb BCD

mov

ax,0204h

; AX



24

(BCD)

mov

bl, 4

; BL



4

aad

; korekcja operandów

div

bl

; AX/BL

AL



AH*10+AL, AH



0

0

1

0

0

AL

0

0

1

0

AH

AX

0

0

0

1

1

0

0

0

background image

Kody BCD

1111

1000

1001

1010

1011

0100

0101

0110

0111

0000

84-2-1

1111

1110

1101

1100

1011

0100

0011

0010

0001

0000

2421

1100

1011

1010

1001

1000

0111

0110

0101

0100

0011

Excess-3

1000

8

1001

9

0111

7

0110

6

0101

5

0100

4

0011

3

0010

2

0001

1

0000

0

8421

Cyfra (10)

background image

Kod Excess-3 (XS3)

Powstaje poprzez dodanie warto

ś

ci 3 do cyfry dziesi

ę

tnej i

zapisanie jej w kodzie BCD

Cyfry 5-9 s

ą

lustrzanym odbiciem cyfr 0-4 z zanegowanymi

bitami

Jest kodem samouzupełniaj

ą

cym –negacja liczb dwójkowych w

tych kodach daje uzupełnienie do 9 odpowiednich liczb
dziesi

ę

tnych

1011

8

1100

9

1010

7

1001

6

1000

5

0111

4

0110

3

0101

2

0100

1

0011

0

Excess-3

Cyfra (10)

background image

Kod BCD 2421 (Aikena)

Jest kodem wagowym o wagach 2, 4, 2, 1

Waga nie jest prost

ą

funkcj

ą

pozycji, nie jest to kod pozycyjny

Cyfry 5-9 s

ą

lustrzanym odbiciem cyfr 0-4 z zanegowanymi

bitami

Jest kodem samouzupełniaj

ą

cym

1110

8

1111

9

1101

7

1100

6

1011

5

0100

4

0011

3

0010

2

0001

1

0000

0

BCD 2421

Cyfra (10)

background image

Kod BCD 84-2-1

Jest kodem wagowym o wagach 8, 4, -2, -1

Cyfry 5-9 s

ą

lustrzanym odbiciem cyfr 0-4 z zanegowanymi

bitami

Jest kodem samouzupełniaj

ą

cym

1000

8

1111

9

1001

7

1010

6

1011

5

0100

4

0101

3

0110

2

0111

1

0000

0

BCD 84-2-1

Cyfra (10)

background image

Kod Johnsona

Kod kołowy stosowany do kodowania cyfr
dziesi

ę

tnych

Wymaga

pi

ę

ciu bitów

do zakodowania ka

ż

dej cyfry

dziesi

ę

tnej

Charakteryzuje si

ę

specyficznym rozkładem zer i

jedynek

11

000

8

1

0000

9

111

00

7

1111

0

6

11111

5

0

1111

4

00

111

3

000

11

2

0000

1

1

00000

0

Kod Johnsona

Cyfra (10)

background image

Kod Johnsona

Liczba jedynek zwi

ę

ksza si

ę

(pocz

ą

wszy od najmniej

znacz

ą

cego bitu) a

ż

do wszystkich bitów równych 1

Nast

ę

pnie jedynek zaczyna ubywa

ć

(pocz

ą

wszy od

najmniej znacz

ą

cego bitu)

Stosowany jest w elektronice. Łatwe dekodowanie

Jest kodem nadmiarowym

11

000

8

1

0000

9

111

00

7

1111

0

6

11111

5

0

1111

4

00

111

3

000

11

2

0000

1

1

00000

0

Kod Johnsona

Cyfra (10)

background image

Kody 1 z N (pier

ś

cieniowe)

Długo

ść

słowa jest równa N czyli liczbie kodowanych

słów

Najbardziej rozpowszechnionym jest kod 1 z 10

Jest to kod wagowy o wagach 9876543210

Jest kodem nadmiarowym, detekcyjnym

0

1

00000000

8

1

000000000

9

00

1

0000000

7

000

1

000000

6

0000

1

00000

5

00000

1

0000

4

000000

1

000

3

0000000

1

00

2

00000000

1

0

1

000000000

1

0

Kod 1 z 10

Cyfra (10)

background image

Kod 2 z 5

5-bitowy kod

posiada stał

ą

liczb

ę

jedynek w

zapisie (ka

ż

dy 5-bitowy kod

ma 2 jedynki i pozostałe bite
zerowe)

Jest

to

kod

wagowy,

wyst

ę

puj

ą

ż

ne

wersje,

zale

ż

nie od przyj

ę

tych wag

(np. 01236, 74210)

Jest kodem nadmiarowym,
detekcyjnym

Stosowany

w

kodach

kreskowych

00011

00101

01001

10001

00110

01010

10010

10100

11000

01100

Kod 2 z 5

(01236)

10010

8

10100

9

10001

7

01100

6

01010

5

01001

4

00110

3

00101

2

00011

1

11000

0

Kod 2 z 5

(74210)

Cyfra

dziesiętna

background image

Kod Graya

Kod dwójkowy bezwagowy, niepozycyjny

Dwa kolejne s

ł

owa kodowe ró

ż

ni

ą

si

ę

tylko stanem

jednego bitu
Jest kodem cyklicznym - ostatni i pierwszy wyraz
tego kodu spełniaj

ą

zasad

ę

ż

nicy tylko na jednym

bicie
Ma wiele zastosowa

ń

w technice cyfrowej,

automatyce, robotyce

0

0

0

0

0

1

0

1

1

0

1

0

1

1

0

1

1

1

1

0

1

1

0

0

0

1

2

3

4

5

6

7

background image

Konstruowanie kodu Graya

Dopisa

ć

te same słowa kodowe, ale w

odwrotnej kolejno

ś

ci (odbicie lustrzane)

Do pocz

ą

tkowych wyrazów dopisa

ć

bit o

warto

ś

ci zero, natomiast do odbitych

lustrzanie – bit o warto

ś

ci 1

0

1

0

0

0

1

1

1

1

0

0

0

0

0

0

1

0

1

1

0

1

0

1

1

0

1

1

1

1

0

1

1

0

0

0

0

0

0

0

0

0

1

0

0

1

1

0

0

1

0

0

1

1

0

0

1

1

1

0

1

0

1

0

1

0

0

1

1

0

0

1

1

0

1

1

1

1

1

1

1

1

0

1

0

1

0

1

0

1

1

1

0

0

1

1

0

0

0

background image

Konwersja liczb NKB









kod Graya

Liczb

ę

w postaci binarnej przesun

ąć

o jeden bit w

prawo, młodszy bit odrzucamy, na pocz

ą

tku

zapisujemy bit o warto

ś

ci 0

Wykona

ć

operacj

ę

XOR na poszczególnych bitach

liczby binarnej NKB oraz liczby otrzymanej po
przesuni

ę

ciu

20

(10)

= 10100

(NKB)

a

b

0

0

0

1

1

0

1

1

0

XOR

0

1

1

1

0

1

0

0

0

1

0

1

0

1

1

1

1

0

XOR

(GRAY)

(

)

(NKB)

background image

Konwersja kod Graya









NKB

Przepisa

ć

najstarszy bit z kodu

Graya do najstarszego bitu
słowa dwójkowego

Dla obliczenia ka

ż

dej kolejnej

cyfry wykona

ć

operacj

ę

XOR

na odpowiednim bicie kodu
Graya oraz poprzednio
wyznaczonej cyfrze kodu NKB

1011

(GRAY)

= 1101

(NKB)


Wyszukiwarka

Podobne podstrony:
LA cw2 id 257339 Nieznany
CHPN cw2 id 115943 Nieznany
cw2 2 id 123047 Nieznany
Program cw2 id 395617 Nieznany
EKONOMIA CW2 id 155753 Nieznany
cw2 id 121601 Nieznany
cw2 id 537975 Nieznany
MEN cw2 id 293152 Nieznany
AKO Lab2012 cw2 id 53973 Nieznany (2)
mp cw2 id 309046 Nieznany
Laboratorium TSS cw2 id 261861 Nieznany
Marerialy do obliczen Cw2 id 27 Nieznany
KWP cw2 id 256617 Nieznany
GRI cw2 id 195766 Nieznany
LA cw2 id 257339 Nieznany
CHPN cw2 id 115943 Nieznany
cw2 2 id 123047 Nieznany

więcej podobnych podstron