2025-11-20 06:28:19
当char类型占1个字节且为有符号时,-char0就是-128。这跟char的取值范围有关,有符号char能表示-128到127这256个整数。比如char0的值是-1,取反后就是1,但实际在内存里存储的是-128的补码形式。
因为char类型在标准C语言里占1字节,有符号时最小值是-128。假设char0存储的是-1,取反后得到的是1,但实际在内存里存储的是-128的补码形式。比如在C语言中,char类型取值范围是-128到127,所以当char0的值是-1时,-char0对应的就是-128。这跟二进制补码有关,比如-1的补码是01111111(8位),取反后变成10000000,这正好是-128的补码表示。所以最终结果就是-128,跟char类型占1字节且为有符号时的最小值一致。
本题链接: