#include <stdio.h>
int main() {
char ch = 1;// 0000 0001
short sh = ch;// 0000 0000 0000 0001
printf("%d %d\n",ch,sh);
ch = -1;
// 1000 0001 原码 ch
// 1111 1110 反码
// 1111 1111 补码
sh = ch;
// 1111 1111 1111 1111 补码 有符号数,最高位是符号位,权重-2^15。 直接使用权重计算结果 (-2^15)+(2^15-1) = -1
// 1111 1111 1111 1110 反码
// 1000 0000 0000 0001 原码 -1
printf("%d %d\n", ch, sh);
return 0;
}