我知道输出十六进制时我可以使用
cout<<hex<<(unsigned int)(unsigned char)ch<<endl
但是我使用
从标准输入中获取了一个字符cin.read((char*)&ch , sizeof(unsigned char))
这次如何将ch
更改为hex
?
答案 0 :(得分:3)
cin.read((char*)&ch , sizeof(unsigned char));
cout << hex << (unsigned int)(ch) << endl;
应该有用。
答案 1 :(得分:0)
如果您尝试将单个字符串转换为十六进制来进行数学运算,例如,您可以将ascii char表示转换为它的实际数字,其语句如下:
char x = 'A';
int y = x;
if(y > 47 && y < 58) //this covers 0-9
y = y - 48;
else if (y > 64 && y < 71) // this covers A-F
y = y - 55;
并使用y作为新号码。如果您需要为一个以上的数字进行操作,可以将其置于循环中。