Bin to Bcd

Moczik Gabor progzmaster at freemail.hu
Sat Jul 16 23:15:23 CEST 2005


Szabó Lajos wrote:
> Valaki el tudna magyarazni?

Tulajdonkeppen egy bin->dec konverziot kell irnod, csak nem karakterenkent 
ASCII kodban pakolod le az eredmenyt, hanem 4-bitenkent egy szamjegyet.

Kodreszlet C-ben (feltetelezve, hogy az adatok elfernek egy long-ban):

bin = binaris szam
visszateresi ertek = decimalis szam, BCD-ben
digit = helyiertek a BCD-ben (0=egyes, 4=tizes, 8=szazas, 16=ezres, ...)

unsigned long bin2bcd(unsigned long bin)
{
     unsigned char digit=0;
     unsigned long dec;

     dec = bin % 10;   // egyes helyiertek
     do {
         digit = digit + 4;
         bin = bin/10;
         dec = dec + (bin << digit);
     } while (bin>0);
     return dec;
}

Remelem nem nagyon szurtam el, de majd ugyis kijavitjak, ha igen :-) ...

-- 
((( Móczik Gábor  )))--((( hu <- DOT <- freemail <- AT <- progzmaster )))
((( Skype: moczik )))--((( Website: http://progzmaster.homelinux.org  )))




More information about the Elektro mailing list