Bin to Bcd

hoyuka hoya hoyuka at c2.hu
Sun Jul 17 00:55:34 CEST 2005


Hali!

Ennel azert van joval hatekonyabb algoritmus is, ahhol nem kell 10-el
maradekot kepezni es osztani.
Ha jol tudom ADD3 az algoritmus neve, keress ra neten, biztosan talalsz
valamit (en is ott talaltam anno, nem sajat kutfobol valositottam meg).
Ha jol emlexem az egesz leptetesbol, nibble carry vizsgalatbol es,
osszeadasbol all (+3).

Mas:
Ugy latom, hogy kozzuletek eleg sokan programoznak PIC-et C-ben. Ugy
tudtam, hogy nincs ingyenes C fordito hozza. Ti megvettetek? Vagy kozkezen
forog vmi feltort valtozat? Jol optimalizal egyebkent? Bar a PIC-nek
szerintem kozel sincs C-re optimalizalt architekturaja (16F-es sorozatrol
beszelek, en csak azt programoztam).

udv.
hoyuka

Moczik Gabor said:
> 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  )))
>
> -----------------------------------
>  Szponzorunk: http://tonerbolt.hu/
>

-------------------------------------
Tele van a postaládája?  C2MAIL 30 MB e-mail tárhely ingyen! 
http://mail.c2.hu




More information about the Elektro mailing list