|
十六進(jìn)制數(shù)0x12表示十進(jìn)制21,這種表示方法與BCD碼類(lèi)似。只需要封裝一個(gè)函數(shù)將其進(jìn)行轉(zhuǎn)碼為常規(guī)的數(shù)就行了。
// 注意c的值得范圍,代表的數(shù)不能超過(guò)60000,即c只能為0x00、0x10、0x20、0x30、0x40、0x50、0x60;
// 如需使用更大的數(shù),需要將unsigned int換為unsigned long long,返回值處同換。
unsigned int h2d(unsigned char a, unsigned char b, unsigned char c,)
{
a=(a/0x0f)+(a%0x0f)*10; b=(b/0x0f)+(b%0x0f)*10;
c=(c/0x0f)+(c%0x0f)*10;
return (unsigned int)c*10000+(unsigned int)b*100+(unsigned int)a;
}
然后只需要調(diào)用這個(gè)函數(shù)就行了;
//為了不不改變?cè)瓉?lái)abc的值,重新定義暫存變量
unsigned int hd;
hd=h2d(a, b, c);
while(hd--)
{
//需要循環(huán)執(zhí)行的代碼;
}
|
|