tft每日頭條

 > 圖文

 > c語言十進制轉換成十六進制數

c語言十進制轉換成十六進制數

圖文 更新时间:2024-11-25 03:02:52

c語言十進制轉換成十六進制數?說明:本程序分别列舉了單字節BCD碼轉換為char型數據;2字節BCD碼轉換為int型數據;4字節bcd碼轉換為long int型數據的的方法,今天小編就來聊一聊關于c語言十進制轉換成十六進制數?接下來我們就一起去研究一下吧!

c語言十進制轉換成十六進制數(C語言的BCD碼轉十進制)1

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每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved