c語言十進制轉換成十六進制數?說明:本程序分别列舉了單字節BCD碼轉換為char型數據;2字節BCD碼轉換為int型數據;4字節bcd碼轉換為long int型數據的的方法,今天小編就來聊一聊關于c語言十進制轉換成十六進制數?接下來我們就一起去研究一下吧!
說明:本程序分别列舉了單字節BCD碼轉換為char型數據;2字節BCD碼轉換為int型數據;4字節bcd碼轉換為long int型數據的的方法。
unsigned char ucBCDdata[10] = {0x11,0x22,0x33,0x44,0x55,0x55,0x66,0x77};
unsigned char ucHEXdata11 = 0,ucHEXdata[10] = {0};
unsigned int uiHEXdata = 0,uiHEXdata11 = 0;
unsigned long int ulHEXdata = 0;
//1、現實中十六進制數和十進制數不可以直接相加,如果是在電腦上的話是可以的,因為不管
//何種進制數在電腦上都是以二進制的形式表示的,所以在電腦編寫程序時是可以相加的。
//C語言程序中,十進制和十六進制實際是互通的,
//單字節BCD碼轉十進制
//高半字節=BCD碼字節除16的商,低半字節=BCD碼字節除16的餘數
ucHEXdata[0] = (ucBCDdata[0]>>4)*10 (0xf & ucBCDdata[0]);
ucHEXdata11 = ucHEXdata[0];
//2字節BCD碼轉換為整數
//先将2個字節的BCD碼分别轉換為十進制,然後高字節*100 低字節=整數
ucHEXdata[0] = (ucBCDdata[0]>>4)*10 (0xf & ucBCDdata[0]);
ucHEXdata[1] = (ucBCDdata[1]>>4)*10 (0xf & ucBCDdata[1]);
uiHEXdata = ucHEXdata[1]*100 ucHEXdata[0];
//4字節BCD碼轉換為整數
//先将4個字節的BCD碼分别轉換為十進制,按照十進制數的整合方式整合為長整形
ucHEXdata[0] = (ucBCDdata[0]>>4)*10 (0xf & ucBCDdata[0]);
ucHEXdata[1] = (ucBCDdata[1]>>4)*10 (0xf & ucBCDdata[1]);
ucHEXdata[2] = (ucBCDdata[2]>>4)*10 (0xf & ucBCDdata[2]);
ucHEXdata[3] = (ucBCDdata[3]>>4)*10 (0xf & ucBCDdata[3]);
ulHEXdata = ((unsigned long int)ucHEXdata[3]*1000000)
((unsigned long int)ucHEXdata[2]*10000)
((unsigned long int)ucHEXdata[1]*100) ucHEXdata[0];
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!