十进制数转为十六进制字符串
生活随笔
收集整理的這篇文章主要介紹了
十进制数转为十六进制字符串
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ?面試中經(jīng)常有相關(guān)進制轉(zhuǎn)換的面試題,工作中也涉及到了。比如數(shù)據(jù)傳輸?shù)臅r候就需要轉(zhuǎn)換成16進制,不過那是字符串,我們這里說整型。
#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; //取二進制位的前4位low=a & 15; //取二進制位的后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
首先是十進制轉(zhuǎn)換為2進制,這個2進制一定是4的整數(shù)倍。將這組二進制按4個位進行劃分,可以劃分為n個組,每個組對應(yīng)的值就是十六進制各個位對應(yīng)的值。上述代碼只考慮了8個二進制位的情況
比如:26 ,其二進制為:0001 1010 ,左邊4個二進制位的值是1,右邊4個二進制的值是10,對應(yīng)就是A,所以26的十六進制數(shù)為1A 。
總結(jié)
以上是生活随笔為你收集整理的十进制数转为十六进制字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。