Jak poprawnie zamienić liczbę binarną 15 na kod BCD: 00001111 do 00010101?

Konwersja kodu binarnego na BCD?





Poprzedni Następny
Wiadomość
Spis treści
From: "Tomasz Brychcy" <tbrychcy_at_nospam_sensor.ime.pz.zgora.pl>
Subject: Konwersja kodu binarnego na BCD?
Date: Mon, 27 Mar 2000 10:55:56 +0200


Czesc wszystkim,

Jak zamienic liczbe binarna na liczbe w kodzie BCD np.

15 w kodzie binarnym to: 00001111
15 w kodzie BCD to: 00010101

Z gory dzieki

odpowiedz prosze na adres:

tbrychcy_at_nospam_sensor.ime.pz.zgora.pl



Poprzedni Następny
Wiadomość
Spis treści
From: Pawel Sklarow <p.sklarow_at_nospam_mikrotel.com.pl>
Subject: Re: Konwersja kodu binarnego na BCD?
Date: Mon, 27 Mar 2000 10:06:04 GMT


Tomasz Brychcy wrote:

Czesc wszystkim,

Jak zamienic liczbe binarna na liczbe w kodzie BCD np.

15 w kodzie binarnym to: 00001111
15 w kodzie BCD to: 00010101

Z gory dzieki

odpowiedz prosze na adres:

tbrychcy_at_nospam_sensor.ime.pz.zgora.pl

W '51:
bin2bcd:
mov b,#10
div ab
swap a
anl a,#0f0h
orl a,b
ret
W C:

char bin2bcd(char in)
{
return (((in / 10) << 4) & 0xf) | (in % 10);
}

Poprzedni Następny
Wiadomość
Spis treści
From: Wojciech Puchar <wojtek_at_nospam_from.pl>
Subject: Re: Konwersja kodu binarnego na BCD?
Date: Mon, 27 Mar 2000 15:02:24 GMT


Tomasz Brychcy <tbrychcy_at_nospam_sensor.ime.pz.zgora.pl> wrote:
Czesc wszystkim,

Jak zamienic liczbe binarna na liczbe w kodzie BCD np.

15 w kodzie binarnym to: 00001111
15 w kodzie BCD to: 00010101
1) dzielisz liczbę (x) przez dziesięć. wynik to y, reszta to r
2) dzielisz liczbę y przez dziesięc, wynik to x, reszta to s
3) ostatni (najmłodszy bajt) to s*16+r
4) jeśli x>0 to powtarzasz kroki 1,2,3 aby uzyskać kolejny (od lewej) bajt