data na seriak v C pro jednocip
Petr Simek
psimek@jcu.cz
Středa Květen 5 11:13:43 CEST 2004
On Wed, 5 May 2004, radek kasal wrote:
> Ahoj
> Doporučíte jak napsat v C rozložení čtyřznakového čísla tak aby to bylo
> jednoduché a rychlé? První potřebuji tisíce, pak stovky, desítky a na
> závěr jednotky.
> Příklad: cislo = 1234
> Ja ale potřebuji dostat cislo = 1, nasledne 2, 3, 4
pokud se chcete vyhnout deleni a staci vam jen odcitani a scitani,
pak by to mohlo vypdata nejak takhle :
unsigned int ConvBin2BCD(unsigned int BinInt){ // Konvertuje int (max 9999) z bin do BCD
unsigned int BCDInt = 0;
while(BinInt > 999){ BinInt -= 1000; BCDInt += 0x1000; }
while(BinInt > 99){ BinInt -= 100; BCDInt += 0x0100; }
while(BinInt > 9){ BinInt -= 10; BCDInt += 0x0010; }
BCDInt += BinInt;
return(BCDInt);
}
s tim ze vystupni cislice jsou jako BCD v pulbajtech uint.
> Radek
*------------------------------------------------------------------------*
| Petr Simek APS JU |
| psimek@jcu.cz |
*------------------------------------------------------------------------*
Další informace o konferenci Hw-list