单个字节如何容纳 -128 值

uma*_*331 3 c binary-data

在内存中 128 将被存储为10000000. 如果我在字节数据类型中存储 -128,我应该在哪里放置符号位,因为整个 1 字节被数字 128 占用?

你能解释一下吗?

dbu*_*ush 9

有符号整数通常用二进制补码表示。这意味着对于给定的正数,通过将所有位取反然后加 1 得到相应的负数。

二进制补码中的负数将设置高位。该位成为符号位。

所以对于一个占一个字节的数字,11111111代表-1,11111110代表-2,以此类推,一直到10000000代表-128。在高端,01111111代表 127。

这意味着一个 1 字节的有符号整数不能存储值 128。如果你有一个 1 字节的无符号整数,那么10000000它将是 128,但它不能保存任何负数。