-128的二进制怎么表示

对于8进制的2进制数,模是2的八次,256。如果抛开负数,我们能表示0-255没问题吧。现在我们把0255进行对半分,0-127以及128-255.像上面所说的100一样,,0-127表示正数,128255表示负数补数的负值,也就是说128~255为【模】-|负数x|后的值,256-|-128|=128,256-|-1|=255。到这里你应该明白为什么八位2进制数能够表示的范围是-128-127了吧。 需要注意的是,以上这些运算都需要在-128~127的范围内,这里所谓的负数的二进制码就是它们的补码,不然会产生溢出,也就不符合这个逻辑了。

    接下来我们再看看为什么-128的表示是1000 0000。我们是用256-|-128|=128去表示-128的,128的补码就是1000 0000,这也就是为什么-128是用1000 0000表示了。

    最后说一下计算机是怎么求这个补码的。负数在计算机中都是用补码存储表示的,当我们输入一个负数的时候,计算机还是要用 模-绝对值来求对应的补码,可是计算机只有加法,为了求这个对应的补码,计算机会将原码首位不变,其余位取反然后加1来求这个补码,-128没有原码和反码,只有补码。换个角度考虑,负数的补码就是其绝对值源码+1,-128就是128的原码10000000求反0111 1111 +1 -》1000 0000