C++实现读入二进制数并转换为十进制输出
题目描述
已知一个只包含0和1的二进制数,长度不大于10,将其转换为十进制并输出。
输入描述
输入一个二进制整数n,其长度不大于10
输出描述
输出转换后的十进制数,占一行
样例输入
110
样例输出
6
solution:
很多学过C初学C++的人可能想到的是用字符数组形式读入再一位一位计算成十进制输出。
没必要。
C++类库提供了二进制数据类,并且可以用其方法转换成十进制。
代码如下:
复制代码 代码如下:
#include
using namespace std;
#include
int main()
{
bitset<16> bint; // 16 bit 二进制数据,还有 bitset<32>
cin >> bint;
cout << bint.to_ulong() << endl;
return 0;
}
时间: 2015-03-15
题目内容:将十进制整数转换成二进制数. 输入描述:输入数据中含有不多于50个的整数n(-231",再然后输出二进制数.每个整数n的输出,独立占一行. 题目分析:将某个数从十进制转为二进制的具体方法是,该数对2取余,结果要么为1要么为0,此为该数对应二进制的末位:然后该数除以二,得到的商再次对2取余,结果为对应二进制的倒数第二位--以此类推,知道除以2的结果为0. 参考代码: 复制代码
看第二节的时候,它是定义的一个整型,然后取位.但是他的那个或运算符号好像写错了,写成了异或符号"^",应该是"|".我就突然对二进制的输出感兴趣了.想知道怎样输出二进制.我们知道C++输出十六进制是cout〈〈hex〈〈 a:而八进制是cout〈〈 ocx〈〈 a;二进制则没有默认的输出格式,需要自己写函数进行转换,于是上网搜索了一下.网上思路真是广泛啊. 下面列出一些方法. #include 〈