我试图在C ++中打印十六进制等效的整数,
int value=2;
cout<<hex<<value;
我得到2作为输出,我想要0x00000002作为输出(即具有非重要的零), 有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
这更像是格式化问题。除了十六进制之外,你还想使用setw和setfill,因为你想要左边填充0和0x前缀。
cout << "0x" << setw(8) << setfill('0') << right << hex << value;
答案 1 :(得分:1)
你可以使用这个功能
char * itoa ( int value, char * str, int base );
答案 2 :(得分:1)
使用以下内容:
printf("Ox%08x", value);