关于#c语言#的知识点:关于char的问题

这个是如何计算的呀

用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

img

0xFFFF,是16进制的 FFFF, 转化成二进制就是 1111 1111 1111 1111(2 * 8 = 16 位,2字节)
但是因为char型只占用1个字节,所以也就只有有效的0xff,并且因为是默认有符号数的,所以最高位1表示负数,剩下的就是-1了,根据补码定的规则0xFF是十进制-1.