如何用C++编写程序接收二进制数输入?
不知道怎么能让程序接收二进制输入啊。分不多,不好意思啊。请高手帮忙,谢谢!
问题已经解决,直接输100010的十进制数就行了,然后用求模解决。 展开
C++中没有直接接受二进制输入的方法,可以参考下面的代码:
#include <stdio.h>
#include <string.h>
char s[100];
int i,k;
int main(){
printf("输入二进制数:");
scanf("%s",s);
for(i=0,k=strlen(s);i<k;i++) if(s[i]<48||49<s[i])break; //验证输入是否为二进制
if(i<k)
printf("%s不是二进制数。",s);
else
printf("%s是二进制数。",s);
return 0;
}
扩展资料:
c++语言的整数常量有三种形式:十进制、八进制、十六迸制。
1、十进制整数是由不以0开头的0~9的数字组成的数据。
2、八进制整数是由以0开头的0~7的数字组成的数据。
3、十六进制整数是由以0x或0x开头的0~9的数字及A~F的字母(大小写字母均可)组成的数据。
例如:
0,63,83是十进制数。
00,077,0123是八进制数。
0x0,Ox0,0x53,0x53,0x3f,0x3f是十六进制数。
整数常量的取值范围是有限的,它的大小取决于此类整型数的类型,与所使用的进制形式无关。
参考资料来源:百度百科-C++
C++中没有直接接受二进制输入的方法。只能够输入8进制,10进制,16进制三种。
可以用字符串读取输入,验证正确性后再使用。
例程:
#include <stdio.h>
#include <string.h>
char s[100];
int i,k;
int main(){
printf("输入二进制数:");
scanf("%s",s);
for(i=0,k=strlen(s);i<k;i++) if(s[i]<48||49<s[i])break; //验证输入是否为二进制
if(i<k)
printf("%s不是二进制数。",s);
else
printf("%s是二进制数。",s);
return 0;
}
你要用什么类型来接收它?对于小数值,确实可以.大数值就不行了.
保险的还是存字符串,然后用STL的Bitset保存.
麻烦给个例子代码行吗?刚学C++,好多不懂,谢谢!
假如:要输入10000011001100110101,这个用数组行吗?呵呵,以前学过C。
最好能帮忙写个例子代码,谢谢!