C++进制的输入和进制之间的转换

16进制转化为十进制

int a;
cin >> hex >> a;  // 0xEF
cout << a; // 239

8进制转化为10进制

int b;
cin >> oct >> b; // 012
cout << b;      // 10

二进制转化为十进制

#include <bitset>
bitset<16> c;  // 16 bit 二进制数据,还有 bitset<32>
cin >> c;      // 110   
cout << c.to_ulong();  //6

16进制转化为8进制

int a;
cin >> hex >> a;    // 0xF
cout << oct << a;   // 17

C++输入要带有各进制数的前缀

  • 16进制:hex 对应数值前缀“0x”
  • 10进制:dec(可以不带,默认)
  • 8进制:oct 对应数值前缀 “0”

猜你喜欢

转载自blog.csdn.net/tingyugetc11/article/details/69568294