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