C ++中整数的十进制,八进制和十六进制表示

时间:2013-01-10 18:13:18

标签: c++

如何使用十进制,八进制或十六进制表示来表示整数的值? (我更希望只使用iostream

2 个答案:

答案 0 :(得分:5)

假设您只是想看到它们,供您自己参考。虽然将它们存储在一个变量中只是“一蹴而就”。

#include <iostream>
using namespace std;

int main () {
  int n;
  n=70;
  cout << hex << n << endl;
  cout << dec << n << endl;
  cout << oct << n << endl;
  return 0;
}

答案 1 :(得分:5)

“十进制整数”我希望你的意思是一个使用十进制来表示整数的字符串。整数类型(如int)没有基础。或者如果你因为它们的内部表示而坚持它们必须有一个基数,那么基数总是2.整数的字符串表示,现在那些有一个基数。

std::istringstream iss(std::string("123"));
int i;
if (iss >> i) {
    std::cout << "read a decimal integer!\n";
    std::cout << "here it is in decimal: " << i << "\n";
    std::cout << "here it is in hex: " << std::hex << i << "\n";
    std::cout << "here it is in octal: " << std::oct << i << "\n";
}