用C语言编写二进制转换的程序。 10

您是否可以编写一个程序实现,例如输入11111110当当成不带符号数的时候,转换为十进制为254当当成“带”符号数的时候,转换为十进制数为-2(因为-2的补码是11111... 您是否可以编写一个程序实现,
例如输入 11111110 当当成不带符号数的时候,转换为十进制为 254
当当成“带”符号数的时候,转换为十进制数为 -2 (因为-2的补码是 11111110 )
原因:-2的补码和254的补码相同,所以输出 -2

其中
int 16 位
16位的 unsigned int
16位的 short int
16位的 unsigned short int
32位的 long int
32位的 unsigned long int

其中输入的二进制是32位内的任意二进制数。
展开
 我来答
聚发稿网
2016-08-08 · 知道合伙人生活技巧行家
聚发稿网
知道合伙人生活技巧行家
采纳数:5647 获赞数:29663
聚发稿网创始人,作家,笔名志耘誉松著《机械魔敌》《笑泪恋曲》

向TA提问 私信TA
展开全部
#include"stdio.h"doublepower(doublex,intn)//递归实现函数转换{doubleval=1.0;while(n--)val*=x;return(val);}voidmain(){inti,n,value=0;charch;printf("请输入您要输入的二进制位数:");scanf("%d",&n);printf("输入一个%d位二进制数:",n);for(i=n;i>=0;i--){scanf("%c",&ch);if(ch=='1')value+=int(power(2,i));}printf("十进制是:%d\n",value);}由于本人的英语水平有限,所以就用VC++软件,用C的知识写了这个程序。。如果你要在C里运行。。貌似要把中文全部翻译成英文即可。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式