【发布时间】:2020-02-01 15:35:13
【问题描述】:
我想了解打印出一个 char 和一个 unsigned char 的结果。
#include <iostream>
#include <string>
using namespace std;
int main()
{
int8_t a = 0xA1;
uint8_t b = 0xA1;
printf("0x%x,", a);
printf("0x%x,", b);
std::cout << std::hex << a << ",";
std::cout << std::hex << b << std::endl;
}
结果
0xffffffa1,0xa1,�,�
我不明白为什么 signed char 会变成 uint 或 int,为什么 std::hex 会惨败。
【问题讨论】:
标签: c++