1、為了完成進(jìn)制的轉(zhuǎn)換,在主函數(shù)中聲明了個(gè)函數(shù)Sum,主要用于將二進(jìn)制的每一位轉(zhuǎn)換為十進(jìn)制后的數(shù)相加,返回值就是相加后的和。
為皇姑等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及皇姑網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、皇姑網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
另外定義了一個(gè)數(shù)組array[8],用于存放輸入的八位二進(jìn)制數(shù)。
2、然后使用了一個(gè)for循環(huán)語句,用于輸入八位二進(jìn)制數(shù)。
3、在Sum函數(shù)中,又聲明了一個(gè)power函數(shù),power函數(shù)的作用是求2的n次方。
4、接著,使用了一個(gè)for循環(huán)語句,i用于控制循環(huán)的次數(shù),n從最高的指數(shù)7開始每次循環(huán)減一,如果指數(shù)大于或等于零的,就進(jìn)行循環(huán)。
5、在power函數(shù)中,如果b等于零,即指數(shù)為零,則返回1,否則就進(jìn)入一個(gè)循環(huán),j用于控制循環(huán)次數(shù),有疑問的可以用筆算算乘2的個(gè)數(shù)對(duì)不對(duì),最后將i返回。
6、最后看一下運(yùn)行的結(jié)果。
1、可以根據(jù)16進(jìn)制轉(zhuǎn)10進(jìn)制的算法(即各位位碼值乘以位權(quán)之和)來實(shí)現(xiàn)該功能。
2、具體實(shí)現(xiàn)方法可以參考如下程序:
#include?stdio.h
void?main()
{
int?he;????
int?re=0;???//?保存轉(zhuǎn)換為10進(jìn)制的結(jié)果
int?k=16;???//?16進(jìn)制
int?n=1;????//?位權(quán)
scanf("%d",?he);??//?接收用戶輸入的16進(jìn)制數(shù),不含0x前綴
while(he?!=?0)??
{
re?+=?(he%10)*n;??//?取出各位位碼值,并乘以對(duì)應(yīng)的位權(quán)值
he?/=?10;???//?去掉16進(jìn)制數(shù)的最低位,次低位變?yōu)樽畹臀?/p>
n?*=?k;?????//?位權(quán)乘以16
}
printf("%d",re);?//?輸出轉(zhuǎn)換后的結(jié)果
}
10進(jìn)制轉(zhuǎn)換8進(jìn)制輸出,使用printf函數(shù)的格式輸出%o即可。如果需要得到轉(zhuǎn)換后的字符串,使用sprintf函數(shù)即可。
例程:
#include?stdio.h
int?main?(){
int?x;
char?s[100];
printf("輸入要轉(zhuǎn)換的十進(jìn)制數(shù):\n");
scanf("%d",x);
sprintf(s,"%o",x);?//十進(jìn)制轉(zhuǎn)換為八進(jìn)制,并保存到s字符串當(dāng)中
printf("使用sprintf函數(shù)轉(zhuǎn)換的八進(jìn)制數(shù)是:%s\n",s)
printf("使用printf函數(shù)轉(zhuǎn)換的八進(jìn)制數(shù)是:%o\n",x);?//十進(jìn)制轉(zhuǎn)換為八進(jìn)制,并直接輸出到屏幕
return?0;
}
itoa()函數(shù)可以實(shí)現(xiàn),根據(jù)itoa()第三個(gè)參數(shù)(2/8/10)可以進(jìn)行二、八、十六進(jìn)制的轉(zhuǎn)換,轉(zhuǎn)換后為字符串,如要求是int,可以用atoi實(shí)現(xiàn)字符串與int之間的轉(zhuǎn)換舉例:#include
"stdio.h"#include
"stdlib.h"int
main(){int
L1;printf("輸入數(shù)字\n");scanf("%d",
L1);char
str1[256];char
str2[256];char
str3[256];itoa(L1,
str1,
2);itoa(L1,
str2,
8);itoa(L1,
str3,
16);printf("2進(jìn)制:%s\n8進(jìn)制:%s\n16進(jìn)制:%s\n",str1,str2,str3);return
0;}
文章標(biāo)題:c語言函數(shù)調(diào)用進(jìn)制轉(zhuǎn)換 c語言用函數(shù)調(diào)用將十進(jìn)制轉(zhuǎn)化為二進(jìn)制
當(dāng)前路徑:http://chinadenli.net/article0/dogdioo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、服務(wù)器托管、網(wǎng)站排名、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站制作、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)