有些程序要处理二进制问题,每个位只包含0和1;标准库里面有个bitset类简化了 处理,使用方便
输入一个整数n
输出n的二进制,保证多少位,高位不够的话补0
#include<iostream> #include<stdio.h> #include<bitset> #include<algorithm> using namespace std; int main() { int n; while(cin>>n) { bitset<16> a(n); //bitset的声明,把10进制的数转化为二进制,位数为16位 bitset<32> b(n); cout<<a<<endl; //bitset的输出 cout<<b<<endl; a.flip(); //把二进制按位取反 cout<<a<<endl; //也可以转化为string类型的输出 string t,s; t=b.to_string(); cout<<t<<endl; //还可以把二进制的高位转化为低位,低位转化为高位 s=t; reverse(s.begin(),s.end()); cout<<s<<endl; } return 0; }
时间: 2024-11-07 06:50:42