为什么8位二进制数的范围是-128~127

1.计算机对带符号数的表示有三种方法:原码、反码和补码 
   8位原码反码能够表示数的范围是-127~127 
   8位补码能够表示数的范围是 -128~127 
   所以既然范围是-128~127,那肯定是用补码表示的。 

  10000000-11111111表示-128到-1,  00000000-01111111表示0-127

  补码的1111 1111转换成原码就是1000 0001,也就是-1。 

 在补码中用(-128)代替了(-0),所以补码的表示范围为: 

 注意:(-128)没有相对应的原码和反码, (-128) = (10000000),把10000000取反加1就是-128.

2.在计算机中数据一般用补码来存储,因为cpu只能做加法运算。

原文地址:https://www.cnblogs.com/qianxinxu/p/5621539.html