使用C/C++输出2、8、10、16进制数据
#include <iostream> #include <bitset> #include <stdlib.h> using namespace std; int main() { int num = 100; cout << "十进制 " << num << endl; cout << "十六进制 " << hex << num << endl; cout << "八进制 " << oct << num << endl; cout << "二进制 " << bitset<8>(num) << " " << bitset<32>(num) << endl; // 这里使用了bitset类来输出2进制数据 cout << "--------------------------------" << endl; printf("十进制 %d\n", num); printf("十六进制 %x\n", num); printf("八进制 %o\n", num); char binary_text[100]; _itoa(num, binary_text, 2); printf("二进制 %s 2s\n", binary_text, binary_text); return 0; }结果如图
这里简单提一下bitset
初始化bitset对象的方法
bitset<n> b;
b有n位,每位都为0
bitset<n> b(u);
b是unsigned long型u的一个副本
bitset<n> b(s);
b是string对象s中含有的位串的副本
bitset<n> b(s, pos, n);
b是s中从位置pos开始的n个位的副本