c ++的hex值?
我想要做:
int a = 255; cout << a; 并在输出中显示FF,我将如何做到这一点?
使用:
 #include <iostream> ... std::cout << std::hex << a; 
还有许多其他选项可以控制输出编号的确切格式 ,例如前导零和大/小写。
  std::hex是在<iostream>包含的<iostream> 。 但要使用诸如std::setprecision/std::setw/std::setfill / etc之类的东西,你必须包含<iomanip> 。 
 要操作要以hex打印的stream,请使用hex操纵器: 
 cout << hex << a; 
 默认情况下,hex字符以小写forms输出。 要将其更改为大写,请使用uppercase操纵器: 
 cout << hex << uppercase << a; 
 要稍后将输出更改为小写,请使用nouppercase操纵器: 
 cout << nouppercase << b; 
我明白这不是OP要求的,但我仍然认为值得指出如何使用printf来做到这一点。 我几乎总是喜欢使用它在std :: cout(即使没有以前的C背景)。
 printf("%.2X", a); 
'2'定义精度,'X'或'x'定义大小写。
 如果你想打印一个hex数字,然后恢复到十进制,你可以使用这个: std::cout << std::hex << num << std::dec << std::endl; 
有不同种类的标志和面具可以使用。 有关更多信息,请参阅http://www.cplusplus.com/reference/iostream/ios_base/setf/ 。
 #include <iostream> using namespace std; int main() { int num = 255; cout.setf(ios::hex, ios::basefield); cout << "Hex: " << num << endl; cout.unsetf(ios::hex); cout << "Original format: " << num << endl; return 0; }