Wprowadzenie do informatyki - ć wiczenia Plan zaj

ę ć

n

Kod

Kod BCD

– definicja i konwersja

n

Zakresy

Zakresy liczb reprezentowanych liczb reprezentowanych w kodzie w kodzie BCD

n

Arytmetyka

Arytmetyka w

w kodzie

kodzie BCD

Binary Coded Decimal (BCD) dr inż . Izabela Szczęch

WSNHiD 2010/2011

Ćwiczenia z wprowadzenia do informatyki 2

Kod BCD

§ Istnieje wiele przykładów urzą dzeń , w których zastosowanie czystego kodu dwójkowego jest nieekonomiczne z uwagi na cią głą konieczność przeliczania liczb pomiędzy systemami dziesiętnym i dwójkowym. Są to róż nego rodzaju liczniki, kasy sklepowe, kalkulatory, wagi itp.

§

Kod

Kod BCD

-

Dla nich opracowano specjalny kod zwany systemem dziesiętnym kodowanym dwójkowo - BCD

(ang. Binary Coded Decimal).

definicja i konwersja

4

Kod

Kod BCD

Kod BCD

Konwersja z BCD na system dziesiętny: Cyfra

Kod BCD

Cyfra

Kod BCD

dziesię tna

Idea kodu BCD jest bardzo prosta: dziesię tna

§ liczbę w BCD dzielimy na grupy 4 bitowe 0

0000

§

dwójkowo zapisujemy nie wartość 0

0000

1

0001

liczby lecz jej cyfry dziesiętne 1

0001

§ każ dą grupę zamieniamy zgodnie z 2

0010

2

0010

§ każ da cyfra dziesiętna moż e być tabelką na cyfrę dziesiętną i otrzymujemy 3

0011

3

0011

przedstawiona w postaci wartości zapis liczby w systemie dziesiętnym 4

0100

4

0100

w naturalnym kodzie binarnym na 5

0101

4 bitach. Kody poszczególnych 5

0101

§ Przykład:

6

0110

cyfr podane są w tabeli.

6

0110

10000110000001110001(BCD)

7

0111

7

0111

1000 0110 0000 0111 0001 = 86071(10) 8

1000

8

1000

9

1001

9

1001

5

6

Izabela Szczęch

1

Wprowadzenie do informatyki - ć wiczenia Kod

Kod BCD

Kod BCD

Cyfra

Kod BCD

Konwersja z systemu dziesiętnego dziesię tna

§ Kod BCD nie jest kodem efektywnym, ponieważ nie na BCD:

wykorzystuje wszystkich moż liwych kombinacji bitów 0

0000

w słowach kodowych.

1

0001

§ każ dą cyfrę dziesiętną zastępujemy 2

0010

czterema bitami z tabelki i otrzymujemy

§ W zwią zku z tym niektóre słowa kodowe nie są dozwolone, 3

0011

kod BCD

gdyż nie reprezentują cyfr dziesiętnych, np.: 4

0100

§ Przykład:

1111 1010

= ???

(BCD)

(10)

5

0101

9234(10) = 1001 0010 0011 0100

6

0110

= 1001001000110100(BCD)

7

0111

8

1000

9

1001

7

8

Zakres

Zakres liczb

w

w kodzie

kodzie BCD

Zadania:

1. Wyznacz

yznacz zakres

liczb dziesi

ętnych

tnych reprezentowanych

reprezentowanych w

kodzie

kodzie BCD

BCD na 16 bitach.

2. Wyznacz

yznacz zakres

liczb dziesi

ętnych

tnych reprezentowanych

reprezentowanych w

Zakres

Zakres liczb

kodzie

kodzie BCD

BCD na

1

na 1

1

1 bitach.

w kodzie

w kodzie BCD

3. Podaj og

ólny

ó

wz

ó

wz r

ó na okre

ślaj

ś ą cy zakres

n-bitowych liczb

w

w kodzie

BCD.

10

Zakres

Zakres liczb

liczb w

w kodzie

kodzie BCD

§ Zakres n-bitowych liczb w kodzie BCD określony jest wzorem:

Z

= 0 ... 10[n div 4] * 2n mod 4 – 1

(BCD)

gdzie,

operator div oznacza dzielenie całkowite (bez reszty), Arytmetyka

a mod resztę z dzielenia.

w kodzie

w kodzie BCD

11

Izabela Szczęch

2

Wprowadzenie do informatyki - ć wiczenia Dodawanie

Dodawanie i iodejmowanie odejmowanie w BCD

Dodawanie

Dodawanie i iodejmowanie odejmowanie w BCD

§ Liczby w kodzie BCD nie są naturalnymi liczbami dwójkowymi, zatem operacje dodawania i odejmowania

§ Korektę wykonujemy, gdy po operacji arytmetycznej: muszą być wykonywane ze sprawdzeniem wyniku i jego ewentualną korektą .

1. grupa bitów nie przedstawia cyfry dziesiętnej, czyli ma wartość większą od 9

(binarnie 1001)

(10)

§ Korekta przy dodawaniu polega na dodaniu (lub odjęciu 14+17=31

25-16=9

przy odejmowaniu) do grupy bitów reprezentują cych cyfrę 0 0 0 1

0 1 0 0

0 0 1 0

0 1 0 1

dziesiętną liczby 0110

(czyli 6

).

(2)

(10)

+ 0 0 0 1

0 1 1 1

- 0 0 0 1

0 1 1 0

§

0 0 1 0

1 0 1 1

>9

0 0 0 0

1 1 1 1

>9

Pytanie:

(10)

(10)

+ 0 0 0 0

0 1 1 0 korekta

- 0 0 0 0

0 1 1 0 korekta

Dlaczego akurat 6

?

(10)

0 0 1 1

0 0 0 1

0 0 0 0

1 0 0 1

3

1

9

13

14

Dodawanie

Dodawanie i iodejmowanie odejmowanie w BCD

Arytmetyka

Arytmetyka w

w kodzie

kodzie BCD

§ Korektę wykonujemy też , gdy po operacji arytmetycznej: Zadania:

Podane liczby dziesi

ę

liczby dziesi tne przedstaw w

kodzie

BCD

2. nastą piło przeniesienie (poż yczka) do następnej grupy i

i wykonaj

dzia

łania

bitów

a) 23+13

e) 77+88

39+19=58

31-16=15

b) 25-4

f) 24-15

0 0 1 1

1 0 0 1

0 0 1 1

0 0 0 1

c) 36+47

g) 29+19

+ 0 0 0 1

1 0 0 1

- 0 0 0 1

0 1 1 0

d) 51+63

h) 31-18

0 1 0 1

0 0 1 0

0 0 0 1

1 0 1 1

+ 0 0 0 0

0 1 1 0 korekta

- 0 0 0 0

0 1 1 0 korekta

0 1 0 1

1 0 0 0

0 0 0 1

0 1 0 1

5

8

1

5

15

16

Izabela Szczęch

3