c語言十進(jìn)制轉(zhuǎn)十六函數(shù) c語言十進(jìn)制轉(zhuǎn)化為十六進(jìn)制

在c語言中用最簡單的方法把十進(jìn)制轉(zhuǎn)化為十六進(jìn)制

代碼如下:

成都創(chuàng)新互聯(lián)是一家以成都網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計、品牌設(shè)計、軟件運(yùn)維、seo優(yōu)化排名、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計為報廢汽車回收等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。

#include?"stdio.h"?

int?main()?

{?

int?num=0;

int?a[100];?

int?i=0;?

int?m=0;

int?yushu;?

char?hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

printf("請輸入一個十進(jìn)制整數(shù):");?

scanf("%d",num);?

while(num0)?

{?

yushu=num%16;?

a[i++]=yushu;?

num=num/16;?

}?

printf("轉(zhuǎn)化為十六進(jìn)制的數(shù)為:0x");?

for(i=i-1;i=0;i--)//倒序輸出?{

m=a[i];

printf("%c",hex[m]);?

}?

printf("\n");?

}

程序運(yùn)行結(jié)果:

擴(kuò)展資料

C語言中,十進(jìn)制轉(zhuǎn)換十六進(jìn)制,可以先輸入十進(jìn)制整數(shù),然后去拼十六進(jìn)制,十六進(jìn)制由數(shù)字 0~9、字母 A~F 或 a~f(不區(qū)分大小寫)組成,使用時必須以0x或0X(不區(qū)分大小寫)開頭,只需把二進(jìn)制除以16得到余數(shù)去上面定義的hex[16]數(shù)組進(jìn)行取值接可以得到轉(zhuǎn)換的數(shù)字。

參考資料:百度百科-十六進(jìn)制

c語言十進(jìn)制轉(zhuǎn)化為十六進(jìn)制

十進(jìn)制轉(zhuǎn)化為十六進(jìn)制代碼:

#include?"stdio.h"?int?main()

{

int?num=0;

int?a[100];

int?i=0;

int?m=0;

int?yushu;

char?hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

printf("請輸入一個十進(jìn)制數(shù):");

scanf("%d",num);?while(num0)?{?yushu=num%16;

a[i++]=yushu;

num=num/16;

}?printf("轉(zhuǎn)化為十六進(jìn)制的數(shù)為:0x");?for(i=i-1;i=0;i--)//倒序輸出?{m=a[i];

printf("%c",hex[m]);?}?printf("\n");

}

程序運(yùn)行結(jié)果:

擴(kuò)展資料:

進(jìn)制轉(zhuǎn)換由一組數(shù)碼符號和兩個基本因素“基數(shù)”與“位權(quán)”構(gòu)成?;鶖?shù)是指,進(jìn)位計數(shù)制中所采用的數(shù)碼(數(shù)制中用來表示“量”的符號)的個數(shù)。位權(quán)是指,進(jìn)位制中每一固定位置對應(yīng)的單位值。

舉例:二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)

二進(jìn)制數(shù)第0位的權(quán)值是2的0次方,第1位的權(quán)值是2的1次方……

所以,設(shè)有一個二進(jìn)制數(shù):0110 0100,轉(zhuǎn)換為10進(jìn)制為:

下面是豎式:

0110 0100 換算成十進(jìn)制

第0位 0 * 20?= 0

第1位 0 * 21?= 0

第2位 1 * 22?= 4

第3位 0 * 23?= 0

第4位 0 * 24?= 0

第5位 1 * 25?= 32

第6位 1 * 26?= 64

第7位 0 * 27?= 0

公式:第N位2(N)

---------------------------

100

用橫式計算為:

0 * 20?+ 0 * 21?+ 1 * 22?+ 0 * 23?+ 0 * 24?+ 1 * 25?+ 1* 26?+ 0 * 27?= 100

0乘以多少都是0,所以我們也可以直接跳過值為0的位:

1 * 22?+ 1 * 25?+1*26?= 100

參考資料:

百度百科-進(jìn)制轉(zhuǎn)換

c語言 十進(jìn)制轉(zhuǎn)換為十六進(jìn)制?

#include stdio.h

#include string.h

#include math.h

void string2int(int *a,char dec[][30],int);

int main() {

int num=0,num2,hh[60];

int k,l,n=0;

char str[60][30];

printf("輸入樣例個數(shù):");

scanf("%d",k);

for(l=0;lk;l++)

scanf("%d",hh+l);

string2int(hh,str,k);

for(n=0;nk;n++){

k=strlen(str[n]);

for(l=k-1;l=0;l--)

printf("%c",str[n][l]);

printf("\n");

}

return 0;

}

void string2int(int *h,char dec[][30],int len) {

int i ;

int p = 0;

int num=0;

char tmp,n[16]=

{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

for(i=0;ilen;i++){

do{

num=h[i]%16;

tmp=n[num];

dec[i][p]=tmp;

p++;

h[i]/=16;

}while(h[i]);

dec[i][p]='\0';

}

}

網(wǎng)站標(biāo)題:c語言十進(jìn)制轉(zhuǎn)十六函數(shù) c語言十進(jìn)制轉(zhuǎn)化為十六進(jìn)制
轉(zhuǎn)載注明:http://muchs.cn/article34/dophpse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站設(shè)計公司網(wǎng)頁設(shè)計公司、標(biāo)簽優(yōu)化網(wǎng)站維護(hù)、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)