#include <iostream>
using namespace std;
int main()
{
char c1 = 0xab;
signed char c2 = 0xcd;
unsigned char c3 = 0xef;
cout << hex;
cout << c1 << endl;
cout << c2 << endl;
cout << c3 << endl;
}
我期望输出如下:
ab
cd
ef
但是,我什么也没得到。
我猜这是因为cout始终将'char','signed char'和'unsigned char'视为字符,而不是8位整数。但是,“ char”,“ signed char”和“ unsigned char”都是整数类型。
所以我的问题是:如何通过cout将字符输出为整数?
PS:static_cast(...)难看,需要更多工作来修剪多余的位。
尚方宝剑之说
繁华开满天机
相关分类