推荐:
美食
旅游
音乐
摄影
影视
数码
游戏
地理
政务
汽车
看书
人物
体育
购物
更多
站点栏目:
首页
科技
生活
职业
教育
资讯
关于
会员:
首页
科技
生活
职业
教育
资讯
关于
美食
旅游
音乐
摄影
影视
数码
游戏
地理
政务
汽车
看书
人物
体育
购物
更多
培训
学习
情感
房产
金融
工作
农业
命理
动物
健康
历史
其他
展开
如何使用C语言编写二进制转换为十进制的程序
发布于 2021-01-18 15:16:22 浏览
550
次
前述
详情
问题解析:
【】
1、
1.为了完成进制的转换,我在主函数中声明了个函数Sum,主要用于将二进制的每一位转换为十进制后的数相加,返回值就是相加后的和。另外定义了一个数组array[8],用于存放输入的八位二进制数。
2、
2.然后使用了一个for循环语句,用于输入八位二进制数。在scanf函数里,我在%d之间加了一个1,即%1d,这样是好连续的输入八个数,如果没有中间的1,则编译器会认为你只输入了一个数,即那个八位数。然后使用printf函数输出,并且调用Sum函数,数组名作为实参。
3、
3.在Sum函数中,我又声明了一个power函数,power函数的作用是求2的n次方,其实这里可以调用库函数pow,但是老师要求不调用库函数,因此我就自己写了一个求2的n次方的函数,在这里n为指数,term为每一位数转换为十进制后的的数,如1*(2*2),sum为总和。
4、
4.接着,我使用了一个for循环语句,i用于控制循环的次数,n从最高的指数7开始每次循环减一,如果指数大于或等于零的,就进行循环,因为二进制的最后一位转换为十进制数时指数就是零,此后循环就结束。调用power函数时,将n作为实参,最后将和返回,即将sum作为返回值返回给Sum函数。
5、
5.在power函数中,如果b等于零,即指数为零,则返回1,否则就进入一个循环,j用于控制循环次数,有疑问的可以用笔算算乘2的个数对不对,最后将i返回
6、
6.最后看一下运行的结果,
7、
7.这里是源代码。
8、
#include<sto.h>
9、
int main()
10、
{
11、
int Sum(int a[]);
12、
int array[8],i;
13、
printf("输入一个8位二进制数:");
14、
for(i=0;i<8;i++)
15、
{
16、
scanf("%1d",&array[i]);
17、
}
18、
printf("转换为十进制数后是:%d",Sum(array));
19、
return 0;
20、
}
21、
int Sum(int a[])
22、
{
23、
int power(int b); //声明求2的n次方的函数
24、
int n,i,sum=0,term;//n为指数,term为每一项的值,如1*(2*2),sum为总和
25、
for(i=0,n=7;i<8;i++,n--)
26、
if(n>=0)
27、
{term=a[i]*power(n);
28、
sum=sum+term;
29、
}
30、
return sum;
31、
}
32、
int power(int b)
33、
{
34、
int i=2,j=1;
35、
if(b==0)
36、
i=1;
37、
for(;j<b;j++)
38、
i=2*i;
39、
return i;
40、
}
41、
8.在这里我修改了一下代码,换成了使用库函数pow,不想自己写求2的n次方的函数的可以用这里的代码。“//”后面的内容是注释掉了的,对程序不起作用。
42、
#include<stdio.h>
43、
#include<math.h>
44、
int main()
45、
{
46、
int Sum(int a[]);
47、
int array[8],i;
48、
printf("输入一个8位二进制数:");
49、
for(i=0;i<8;i++)
50、
{
51、
scanf("%1d",&array[i]);
52、
}
53、
printf("转换为十进制数后是:%d",Sum(array));
54、
return 0;
55、
}
56、
int Sum(int a[])
57、
{
58、
//int power(int b); //声明求2的n次方的函数
59、
int n,i,sum=0,term;//n为指数,term为每一项的值,如1*(2*2),sum为总和
60、
for(i=0,n=7;i<8;i++,n--)
61、
if(n>=0)
62、
{//term=a[i]*power(n);
63、
term=a[i]*pow(2,n);
64、
sum=sum+term;
65、
}
66、
return sum;
67、
}
相关推荐
安装包怎么安装
发布于2022-05-30 07:45:41 354个赞
电话被拉黑是什么提示
发布于2022-03-17 04:00:08 308个赞
股票短线操作技巧
发布于2021-10-12 20:41:27 351个赞
抖音申诉无效怎么办
发布于2021-10-12 05:15:16 286个赞
hpv是什么意思
发布于2021-09-05 05:20:36 459个赞
弹射起步是什么意思
发布于2021-07-02 08:10:29 441个赞
我的世界指令tp指令是什么
发布于2021-05-30 17:37:47 260个赞
lcd和tft屏幕有啥区别
发布于2020-10-10 18:26:11 441个赞
扁形动物有哪些
发布于2020-07-09 20:02:02 341个赞
奥特七兄弟是哪几个
发布于2020-03-13 22:04:44 354个赞
猜你可能喜欢
鸡蛋汤面的制作方法
发布于2024-11-05 11:30:55 868个赞
翡翠白玉生煎包的制作方法
发布于2024-11-05 11:30:12 813个赞
鱼香肉丝的制作方法
发布于2024-11-05 11:29:15 811个赞
鲜掉眉毛的丸子煮干丝的制作方法
发布于2024-11-05 11:28:16 811个赞
徽酸菜鱼的制作方法
发布于2024-11-05 11:27:28 829个赞
斛参雪梨猪展汤的制作方法
发布于2024-11-05 11:26:11 801个赞
滋补鱼头豆腐汤的制作方法
发布于2024-11-05 11:25:11 810个赞
鱼头豆腐汤(九阳轻奢炒锅)的制作方法
发布于2024-11-05 11:23:55 700个赞
立功东北旧事更新时间
发布于2024-11-04 18:40:35 858个赞
《金银》在暗示什么
发布于2024-11-04 18:39:32 896个赞
点击加载更多