c語言將十進制數(shù)轉換為16進制的函數(shù):

10年的西安網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整西安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“西安網(wǎng)站設計”,“西安網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
#includestdio.h
main()
{
int u10;
char u16[10];
int w=0,a,b,i;
printf("請輸入一個數(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)轉換為16進制數(shù)字為:",u10);
for(i=w-1;i=0;i--)
{
printf("%c",u16[i]);
}
printf("\n");
}
擴展資料:
十進制數(shù)轉換為二進制數(shù)方法
十進制數(shù)轉換為二進制數(shù)時,由于整數(shù)和小數(shù)的轉換方法不同,所以先將十進制數(shù)的整數(shù)部分和小數(shù)部分分別轉換后,再加以合并。
1. 十進制整數(shù)轉換為二進制整數(shù) 十進制整數(shù)轉換為二進制整數(shù)采用"除2取余,逆序排列"法。具體做法是:用2去除十進制整數(shù),可以得到一個商和余數(shù);再用2去除商,又會得到一個商和余數(shù),如此進行,直到商為零時為止,然后把先得到的余數(shù)作為二進制數(shù)的低位有效位,后得到的余數(shù)作為二進制數(shù)的高位有效位,依次排列起來。
2.十進制小數(shù)轉換為二進制小數(shù)
十進制小數(shù)轉換成二進制小數(shù)采用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數(shù),可以得到積,將積的整數(shù)部分取出,再用2乘余下的小數(shù)部分,又得到一個積,再將積的整數(shù)部分取出,如此進行,直到積中的小數(shù)部分為零,或者達到所要求的精度為止。
然后把取出的整數(shù)部分按順序排列起來,先取的整數(shù)作為二進制小數(shù)的高位有效位,后取的整數(shù)作為低位有效位。
參考資料:
百度百科-十進制
#includestdio.h
void P(int a,int n){
int i,p[30]={0};
p[0]=a;
for(i=1;i30;i++){
p[i]=p[i-1]/n;
p[i-1]%=n;}
for(i=29;i=0;i--)if(p[i]!=0)break;
for(;i=0;i--)printf("%d ",p[i]);}
int main(){
int a,n;
printf("輸入一個整數(shù)\n");
scanf("%d",a);
printf("輸入要轉換的進制\n");
scanf("%d",n);
P(a,n);
return 0;}
按照如下步驟即可用C語言把二進制數(shù)轉換成十進制數(shù)的程序:
1、首先在主函數(shù)中設置成函數(shù)Sum,另外定義了一個數(shù)組array[8],用于存放輸入的八位二進制數(shù)。
2、然后使用了一個for循環(huán)語句,用于輸入八位二進制數(shù)。在scanf函數(shù)里,在%d之間加一個1,然后使用printf函數(shù)輸出,并且調用Sum函數(shù),數(shù)組名作為實參。
3、在Sum函數(shù)中,聲明了一個power函數(shù),在這里n為指數(shù),term為每一位數(shù)轉換為十進制后的的數(shù),如1*(2*2),sum為總和。
4、然后使用一個for循環(huán)語句,i用于控制循環(huán)的次數(shù),n從最高的指數(shù)7開始每次循環(huán)減一,如果指數(shù)大于或等于零的,就進行循環(huán),調用power函數(shù)時,將n作為實參,最后將和返回。
5、在power函數(shù)中,如果b等于零,即指數(shù)為零,則返回1,否則就進入一個循環(huán),j用于控制循環(huán)次數(shù)。
6、最后看一下運行結果,這個C語言程序既可以把二進制數(shù)成功轉換成十進制數(shù)了。
1、打開visualC++6.0-文件-新建-文件-C++SourceFile。
2、輸入預處理命令和主函數(shù):
#includestdio.h? ? ? ? ? ?/*輸入輸出頭文件*/
voidmain()/*空類型:主函數(shù)*/
3、定義變量和數(shù)組的數(shù)據(jù)類型并輸入一個十進制:
intb[16],x,k,r,i;/*定義變量和數(shù)組的數(shù)據(jù)類型為整型*/
printf("輸入一個十進制:");/*輸出文字提示*/
scanf("%d",x);? ? ? ? ?/*輸入一個十進制數(shù)字*/
k=-1;/*將-1賦給k*/
4、用除R取余倒計法將十進制的數(shù)轉化成二進制的數(shù):
do/*用循環(huán)將十進制的數(shù)轉化成二進制的數(shù)*/
{
r=x%2;/*用除R取余倒計法計算二進制*/
b[++k]=r;/*將值賦給數(shù)組*/
x/=2;/*將原數(shù)除2*/
}while(x=1);
5、輸出結果:
for(i=k;i=0;i--)? ? ? ? /*將上面倒計的數(shù)正回來*/
printf("%d",b[i]);/*輸出結果*/
printf("\n");
6、完整的源代碼:
#includestdio.h? ? ? ? ? ?/*輸入輸出頭文件*/
voidmain()/*空類型:主函數(shù)*/
{
intb[16],x,k,r,i;/*定義變量和數(shù)組的數(shù)據(jù)類型為整型*/
printf("輸入一個十進制:");/*輸出文字提示*/
scanf("%d",x);? ? ? ? ?/*輸入一個十進制數(shù)字*/
k=-1;/*將-1賦給k*/
do/*用循環(huán)將十進制的數(shù)轉化成二進制的數(shù)*/
{
r=x%2;/*用除R取余倒計法計算二進制*/
b[++k]=r;/*將值賦給數(shù)組*/
x/=2;/*將原數(shù)除2*/
}while(x=1);
for(i=k;i=0;i--)? ? ? ? /*將上面倒計的數(shù)正回來*/
printf("%d",b[i]);/*輸出結果*/
printf("\n");
}
文章名稱:簡單的C語言十進制函數(shù),C語言的十進制
網(wǎng)站路徑:http://chinadenli.net/article33/dsijdss.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站制作、移動網(wǎng)站建設、、商城網(wǎng)站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)