十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
代碼如下:
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比定海網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式定海網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋定海地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
#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("請(qǐng)輸入一個(gè)十進(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語(yǔ)言中,十進(jìn)制轉(zhuǎn)換十六進(jìn)制,可以先輸入十進(jìn)制整數(shù),然后去拼十六進(jìn)制,十六進(jìn)制由數(shù)字 0~9、字母 A~F 或 a~f(不區(qū)分大小寫(xiě))組成,使用時(shí)必須以0x或0X(不區(qū)分大小寫(xiě))開(kāi)頭,只需把二進(jìn)制除以16得到余數(shù)去上面定義的hex[16]數(shù)組進(jìn)行取值接可以得到轉(zhuǎn)換的數(shù)字。
參考資料:百度百科-十六進(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("請(qǐng)輸入一個(gè)十進(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ù)碼符號(hào)和兩個(gè)基本因素“基數(shù)”與“位權(quán)”構(gòu)成。基數(shù)是指,進(jìn)位計(jì)數(shù)制中所采用的數(shù)碼(數(shù)制中用來(lái)表示“量”的符號(hào))的個(gè)數(shù)。位權(quán)是指,進(jìn)位制中每一固定位置對(duì)應(yīng)的單位值。
舉例:二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)
二進(jìn)制數(shù)第0位的權(quán)值是2的0次方,第1位的權(quán)值是2的1次方……
所以,設(shè)有一個(gè)二進(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
用橫式計(jì)算為:
0 * 20?+ 0 * 21?+ 1 * 22?+ 0 * 23?+ 0 * 24?+ 1 * 25?+ 1* 26?+ 0 * 27?= 100
0乘以多少都是0,所以我們也可以直接跳過(guò)值為0的位:
1 * 22?+ 1 * 25?+1*26?= 100
參考資料:
百度百科-進(jìn)制轉(zhuǎn)換
c語(yǔ)言將十進(jìn)制數(shù)轉(zhuǎn)換為16進(jìn)制的函數(shù):
#includestdio.h
main()
{
int u10;
char u16[10];
int w=0,a,b,i;
printf("請(qǐng)輸入一個(gè)數(shù)字--");
scanf("%d",u10);
if(u10==0)
{
u16[0]='0';
w++;
}
else
{
a=u10;
while(a)
{
b=a%16;
if(b10)
{
u16[w]='0'+b;
}
else
{
u16[w]='A'+b-10;
}
a=a/16;
w++;
}
}
printf("\n");
printf("%d(10)轉(zhuǎn)換為16進(jìn)制數(shù)字為:",u10);
for(i=w-1;i=0;i--)
{
printf("%c",u16[i]);
}
printf("\n");
}
擴(kuò)展資料:
十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)方法
十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),由于整數(shù)和小數(shù)的轉(zhuǎn)換方法不同,所以先將十進(jìn)制數(shù)的整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換后,再加以合并。
1. 十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù) 十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)采用"除2取余,逆序排列"法。具體做法是:用2去除十進(jìn)制整數(shù),可以得到一個(gè)商和余數(shù);再用2去除商,又會(huì)得到一個(gè)商和余數(shù),如此進(jìn)行,直到商為零時(shí)為止,然后把先得到的余數(shù)作為二進(jìn)制數(shù)的低位有效位,后得到的余數(shù)作為二進(jìn)制數(shù)的高位有效位,依次排列起來(lái)。
2.十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù)
十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制小數(shù)采用"乘2取整,順序排列"法。具體做法是:用2乘十進(jìn)制小數(shù),可以得到積,將積的整數(shù)部分取出,再用2乘余下的小數(shù)部分,又得到一個(gè)積,再將積的整數(shù)部分取出,如此進(jìn)行,直到積中的小數(shù)部分為零,或者達(dá)到所要求的精度為止。
然后把取出的整數(shù)部分按順序排列起來(lái),先取的整數(shù)作為二進(jìn)制小數(shù)的高位有效位,后取的整數(shù)作為低位有效位。
參考資料:
百度百科-十進(jìn)制