byte类型取值范围为什么是127到-128?

一个byte由八个位组成,如00000000,其中,前7位表示数值,第8位是符号位(0为正,1为负)。这样+1就是00000001,-1就是10000001。最大的正数就是0 1111111,即2^0+2^1+……+2^6=127;最小的负数,同理,为1 1111111,即-127。   

到这里应该是许多人不明白的地方,为什么负数会到-128。

上述的描述会出现一个问题,就是0,会出现一个+0和一个-0。印度人他们规定-0为-128,这样就与计算机的补码(程序都是按补码运行的)完美的结合在一起。

以此类推,int,short,long都可以推出他们的取值范围。
    原文作者:黑旋风诸葛亮
    原文地址: https://blog.csdn.net/heixuanfenghei/article/details/80403644
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞