c++中数字的二进制,八进制,十进制和十六进制的输出
- 头文件iostream中提供控制符:
- dec: 指示cout以10进制输出。
- hex: 指示cout以16进制输出。
- oct: 指示cout以8进制输出。
但是二进制并没有类似的控制符。需要使用bitset把要输出的数本身,转变成二进制形式输出。
#include <iostream>
#include <Windows.h>
#include <bitset>
using namespace std;
int main()
{
int value = 0;
cout << "请输入一个整数: ";
cin >> value;
cout << "二进制:" << (bitset<16>)value << endl; // 16表示bitset声明的宽度,即有输出的二进制位数。
cout << "八进制:0" << oct << value << endl;
cout << "十进制:" << value << endl;
cout << "十六进制:0x" << hex << value << endl;
system("pause");
return 0;
}