1、计算机里怎么表示负数,为什么这样表示?
2.、在char类型里为什么-128最小。
----------------------
在计算机系统中,数值,一律采用补码表示和存储。
负数,以其“正值的补码形式”表达。
即:补码,是“代替负数”的正数。
计算机有个参数:“字长”。即 8 位机、16 位机。。。
字长限定之后,其数值,就是“周期性”的。
比如两位十进制数(0~99),其计数周期就是 10^2 = 100。
那么:26 - 1 = 25,
26 + 99 = (进位 1) 25。
你如果舍弃进位,这两种算法,就是等效的。
-1 和 +99 等效,加法和减法等效。
99 就称为:-1 的补数。
计算公式是:【补数 = 负数 + 周期】。
正数,必须直接参加计算,不许变换。
所以,【正数,根本就不存在补数】。
在计算机中使用补数,就可以简化算法,从而简化硬件。
--------------------
char 型,是 8 位 2 进制数,计数周期是 2^8 = 256。
它可以表示 128 个负数,如下:
-1 的补码是 255 = 1111 1111 (二进制)。
。。。
-128 的补码是 128 = 1000 0000。
由此可知:-128 是最小的数值。