#include <stdio.h>
int main()
{
char a = 0x81;
printf("0x%x\n",a);
// 0x81 在内存中存储为 1000 0001 这是个补码 ,变量a为有符号数 所以反码为 1000 0000 则源码为 1111 1111 这个数为 -127
// -127 在32位中表示位 1000 0000 0000 0000 0111 1111 转换为 反码则为 1111 1111 1111 1111 1000 0000
// 则补码为 1111 1111 1111 1111 1000 0001 所以可以总结为当char 类型 最高为 1 时 往前面补 1 为0 时往前面补 0;
//注:printf 输出的是整数。
return 0;
}