c语言 将一个二进制数,转换为对应的十进制数
答案:2 悬赏:50 手机版
解决时间 2021-03-20 06:37
- 提问者网友:戎马万世
- 2021-03-19 13:09
c语言 将一个二进制数,转换为对应的十进制数
最佳答案
- 五星知识达人网友:不如潦草
- 2021-03-19 13:52
错误原因在于,int数表示不了一个30位长的正整数,将二进制数改为用char 数组保存进行操作追问没超过30位也不行啊?追答int最大不超过11位
全部回答
- 1楼网友:人類模型
- 2021-03-19 15:09
#include
int main() {
int i,flag,num;
char s[33];
while(gets(s)) {
num = 0;
flag = 1;
for(i = 0; s[i] && flag ;++i) {
if(s[i] < '0' || s[i] > '1') flag = 0;
else num = 2 * num + s[i] - '0';
}
if(flag) printf("(%s)2 <==> %d\n",s,num);
else printf("\"%s\"中有非法字符。\n",s);
fflush(stdin);
}
return 0;
}
int main() {
int i,flag,num;
char s[33];
while(gets(s)) {
num = 0;
flag = 1;
for(i = 0; s[i] && flag ;++i) {
if(s[i] < '0' || s[i] > '1') flag = 0;
else num = 2 * num + s[i] - '0';
}
if(flag) printf("(%s)2 <==> %d\n",s,num);
else printf("\"%s\"中有非法字符。\n",s);
fflush(stdin);
}
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯