您的位置:首页 > 其它

char的取值为什么是-128~127

2016-12-02 23:55 288 查看
首先,我们要知道计算机里面所有的数都是用补码表示的,正数的补码是其本身,负数的补码是原码的反码加一。

127这个数值很好理解,char占一个字节(byte),含有8个bit位.

我们知道数字在计算机中是以二进制来存储的,最高位是符号位,0为正1为负

所以当char表示为正数时:

表示的数字有2的七次方 2^7=128个 ,从+0~127。

    0 : 0000 0000

127:0111 1111

当char表示为负数时:
表示的数字有2的七次方 2^7=128个 ,从-127~-0。

其中-0的原码是:   1000 0000

              补码是:1 0000 0000

由于char只取8位,所以截断后变为0000 0000,这与+0所表示的数是一样的,所以为了不能浪费1000 0000这个数值,我们规定用1000 0000这个位来表示-128。

所以char的取值范围是 -128~127。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: