bitset,2018蓝桥杯-明码(二进制转换)
bitset可以存储二进制数位
bitset<8> x(2);
cout<<x<<endl;
//输出:00000010
#include <iostream>
#include <bitset>
using namespace std;
int main()
{
int n, m;
while (cin >> n >> m)
{
bitset<8> t(n);//创建对象的时候可以直接传进去一个数
cout << t.to_string();
t = m; //也可以直接赋值
cout << t.to_string() << endl;
}
}
核心介绍
bitset的作用是把一个数转换成二进制
bitset<8>是把一个数转换成一个8位的二进制
bitset<32>是把一个数转换成一个32位的二进制
所以输出的时候要转换成string输出 (x.to_string())
这样应该就好理解了。
答案:387 420 489
bitset可以做一些二进制运算
b<<1;//b整体左移
b|=10; //b或 1010
bitset<32> a(string("11111"));//注意是右对齐 将字符串对应成二进制
2018年蓝桥杯明码,二进制转换问题可以用excel解决
ps:excel里有很多进制转换函数