使用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 %032s\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个位的副本 |