这个行!能运行,要输入正确二进制数:
#include
#include
using namespace std;
void main ()
{ int a,b=0,m,k=0;
cout<<"请输入一个二进制数:";
cin>>a;
while(a!=0)
{ m=a%10;
a=a/10;
b+=m*pow(2,k++);
}
cout<<"对应十进制为: ";
cout<
}
这个之前我也写过,全部用的是基本语法,不过后来重新我以前写的代码的时候把它删掉了。因为C++的STL库里面提供了很好的数据结构来实现这个功能,自己再去写容易出错。
这个类型就是bitset (include
比如: std::bitset<32> bit //定义一个32位bitset类型
从二进制转化为十进制只需先把二进制数据存入一个字符串,然后用它来初始一个bitset.
std::string bit = "11011001"; //包含
bitset<32> bit(bit);
cout << bit ; //输出到控制台
从十进制到二进制:
unsigned long number = 132;
bitset<32> bit(number);
cout << bit; //输出132的二进制形式到控制台