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; }