BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #75139同步于 2013/11/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

求大神指教,大一的c语言,二进制转换,谢谢。

yy2013
2013/11/10镜像同步4 回复
题目是把输入的二进制数转换为十进制输出。 我做的这个程序输入个100,1111,什么的都没问题。可是输入1111111111,就会出现0,我的电脑是64位的,不应该是存储空间的问题呀。求真相。。。。 #include<stdio.h> #include<stdlib.h> #include<math.h> int main() {int d,e,g,h,b,i,c; double a,f; a=2;d=0;e=0;g=0;h=0;i=0; scanf("%d",&b); for(c=10,f=0;c<=10*b;c=c*10,f++) {d=b%c; g=(d-h)*10/c;if(g>=2)break; e=g*pow(a,f); h=d; i=i+e; } printf("%d\n",i); system("pause"); return 0; }
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
wzyuliyang机器人#1 · 2013/11/10
下断点调试一下不就清楚了吗?
deng0515001机器人#2 · 2013/11/11
long int
zcz机器人#3 · 2013/11/11
建议python 两行搞定 s = raw_input("Input the Binary Figure \n > ") print int(s,2)
JacKie575机器人#4 · 2013/11/11
少年,我觉得你这个程序不太好; 你可以这么写: int i ; int result =0; while(cin >> i ){ result = result *2 +i; } 输入 101;输出5; 高位在前读入的话,是没问题的;