mooc课程精选,成品人片观看入口众乐乐,久久久久人妻一区精品性色av,苍兰诀大结局是什么,白丝美女被狂躁免费视频网站

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 10進制轉16進制(采用移位實現)

10進制轉16進制(采用移位實現) 時間:2018-09-25      來源:未知

數值的進制轉換在編程中經常會遇到,今天給大家介紹一種通過移位運算實現進制轉換的方法。

/*

功能: 該函數采用移位實現10進制數轉換成16進制數

函數名: to10_16

參數 : n--要轉換的10進制數

編寫: 劉sir

時間: 2015.7

版本: v1.0

*/

#include

#include

//#define print(format,...) fprintf(stderr,format,##__VA_ARGS__)

//#define print1(format,args...) fprintf(stderr,format,##args)

void to10_16(int n)

{

int a=n,n1,i;

char ch[9];

memset(ch,0,sizeof(ch)); //數組初始化

/*===================通過移位實現數值轉換================================*/

for(i = 1;i <= 8;i++)

{

n1 = n-((n>>(4*i))<<(4*i));

n = (n>>(4*i))<<(4*i);

n1 = n1>>(4*(i-1));

if(0 == n1)

break;

if(n1 < 10)

ch[8-i] = n1+'0';

else

ch[8-i] = n1-10+'A';

}

ch[8] = '\0';

/*=========================================================================*/

//讓p指向第一個非0的字符元素

char *p = ch;

while(0 == *p)p++;

printf("%d(10) is 0x%s(16)\n",a,p); //打印

}

int main(void)

{

int a,n,n1,i;

char ch[9];

memset(ch,0,sizeof(ch));

scanf("%d",&a);

to10_16(a);

return 0;

}

上一篇:大神修煉第一步

下一篇:linux網絡編程中的并發控制

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部