题目描述
已知一个只包含0和1的二进制数,长度不大于10,将其转换为十进制并输出。
输入描述
输入一个二进制整数n,其长度不大于10
输出描述
输出转换后的十进制数,占一行
样例输入
110
样例输出
6
solution:
很多学过C初学C++的人可能想到的是用字符数组形式读入再一位一位计算成十进制输出。
没必要。
C++类库提供了二进制数据类,并且可以用其方法转换成十进制。
代码如下:
1 #include <iostream> 2 using namespace std; 3 4 #include <bitset> 5 6 int main() 7 { 8 bitset<16> bint; // 16 bit 二进制数据,还有 bitset<32> 9 10 cin >> bint; 11 cout << bint.to_ulong() << endl; 12 13 return 0; 14 }