當(dāng)前位置:
首頁 >
十进制数转为十六进制字符串
發(fā)布時間:2025/6/15
21
豆豆
生活随笔
收集整理的這篇文章主要介紹了
十进制数转为十六进制字符串
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ?面試中經(jīng)常有相關(guān)進(jìn)制轉(zhuǎn)換的面試題,工作中也涉及到了。比如數(shù)據(jù)傳輸?shù)臅r候就需要轉(zhuǎn)換成16進(jìn)制,不過那是字符串,我們這里說整型。
#include<stdio.h> #include<stdlib.h>char CODE[]="123456789ABCDEF";void toHex(int a) {int high,low,i=0,result;char str[10];if(a <= 0 || a > 255)exit(0);high=a >> 4; //取二進(jìn)制位的前4位low=a & 15; //取二進(jìn)制位的后4位str[i++]=CODE[high-1];str[i++]=CODE[low-1];str[i]='\0';printf("str=%s\n",str); }int main() { int a=26; toHex(a);return 0; }打印:str=1A
首先是十進(jìn)制轉(zhuǎn)換為2進(jìn)制,這個2進(jìn)制一定是4的整數(shù)倍。將這組二進(jìn)制按4個位進(jìn)行劃分,可以劃分為n個組,每個組對應(yīng)的值就是十六進(jìn)制各個位對應(yīng)的值。上述代碼只考慮了8個二進(jìn)制位的情況
比如:26 ,其二進(jìn)制為:0001 1010 ,左邊4個二進(jìn)制位的值是1,右邊4個二進(jìn)制的值是10,對應(yīng)就是A,所以26的十六進(jìn)制數(shù)為1A 。
總結(jié)
以上是生活随笔為你收集整理的十进制数转为十六进制字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。