C/C++ 二进制,八进制, 十进制和十六进制的表示、转换方法
C/C++语言本身支持的三种输入是:
1.二进制。如0b0010。
- 十进制。如56。
- 十六进制,以0x开头,比如0x7a。输出十六进制hex关键字格式化,如cout<<hex<<12。
- 八进制,以0开头,比如030。输出八进制用oct关键字格式化,如cout<<oct<<12。
即:
dec(十进制) hex(十六进制) oct(八进制) bin(二进制)->bintset<自定义的二进制位数>(变量)
例子:
#include
#include //bintset<自定义的二进制位数>(变量)
using namespace std;
int main()
{
int a, b, c, d;
a = 0b0011; //二进制 3
b = 17; //十进制
c = 010;//八进制
d = 0x10; //十六进制
cout << “a=” << a << endl;
cout << “b=” << b << endl;
cout << “c=” << c << endl;
cout << “d=” << d << endl;
cout << endl;
cout << “b(二进制)=” << bitset<8>(b) << endl; //输出为8位二进制数;
cout << “b(八进制)=” << oct << b << endl;
cout << “b(十六进制)=” << hex << b << endl;
cout << “b(重新变回十进制)=” << dec << b << endl;
}