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。
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。
相关文章推荐
- 带符号的char类型取值范围为什么是-128——127
- C语言中 char 类型的取值范围为什么是-128~127
- char为什么取值-128——127
- 探究:java中的char的取值范围,为什么是-128到127?
- 带符号的char类型取值范围为什么是-128——127
- 带符号的char类型取值范围为什么是-128——127
- char为什么取值-128——127
- 为什么Java byte 类型的取值范围是-128~127
- 浅析为什么char类型的范围是 —128~+127
- 为什么1个字节的取值范围是-128~127
- 为什么char类型的范围是:-128~+127
- 为什么Java byte 类型的取值范围是-128~127
- 为什么Java byte类型的取值范围为-128~127
- 为什么Java byte 类型的取值范围是-128~127
- 为什么Java byte 类型的取值范围是-128~127
- 浅析为什么char类型的范围是 —128~+127
- 为什么8位有符号数的取值范围是-128~+127
- 为什么数值类型byte取值范围是(-128~127)?
- java中为什么byte的取值范围是-128到+127
- 为什么Java byte 类型的取值范围是-128~127