有符号的字符变量的取值范围-128到127详细解答
2012-05-12 15:32
218 查看
范围是 -128至127.
根据补码的几条规定即可推出上述结论:
1 若二进制每位全为0,则表示数0
2 若最高位(即符号位)为0,表示正数
3 若最高位为1, 表示是负数,而该负数的绝对值是多少呢?将每个二进制位(包括符号位)取反加1,得到一个二进制数,将该数看成无符号数,其值就是上述负数的绝对值。
例如,二进制的 10000000 的最高位为1, 所以它表示的是负数。是负的多少呢?我们将其八位全部取反,得到01111111, 然后加1,得到10000000. 将该数看作无符号数,值为128, 故计算机中的10000000表示的是-128
最高位(即符号位)为1的8位有符号数有128个,故可表示128个负数;最高位为0的8位有符号数有128个,但全0的那个表示数0,所以总共只能表示127个正整数。
根据补码的几条规定即可推出上述结论:
1 若二进制每位全为0,则表示数0
2 若最高位(即符号位)为0,表示正数
3 若最高位为1, 表示是负数,而该负数的绝对值是多少呢?将每个二进制位(包括符号位)取反加1,得到一个二进制数,将该数看成无符号数,其值就是上述负数的绝对值。
例如,二进制的 10000000 的最高位为1, 所以它表示的是负数。是负的多少呢?我们将其八位全部取反,得到01111111, 然后加1,得到10000000. 将该数看作无符号数,值为128, 故计算机中的10000000表示的是-128
最高位(即符号位)为1的8位有符号数有128个,故可表示128个负数;最高位为0的8位有符号数有128个,但全0的那个表示数0,所以总共只能表示127个正整数。
相关文章推荐
- 8位有符号的取值范围是-128~+127
- 带符号的char类型取值范围为什么是-128——127
- 8位有符号的取值范围是-128~+127
- 为什么8位有符号数的取值范围是-128~+127
- 带符号的char类型取值范围为什么是-128——127
- 带符号的char类型取值范围为什么是-128——127
- Java中byte的取值范围(-128~127)
- C语言中 char 类型的取值范围为什么是-128~127
- 为什么Java byte类型的取值范围为-128~127
- 为什么Java byte 类型的取值范围是-128~127
- java中为什么byte的取值范围是-128到+127
- 为什么8位二进制的补码取值范围是-128~127
- 为什么byte型数据的取值范围为-128~127
- 为什么1个字节的取值范围是-128~127
- 为什么Java byte 类型的取值范围是-128~127
- Java中byte类型的取值范围为什么是-128~127
- 为什么byte的取值范围是-128到127
- 为什么Java byte 类型的取值范围是-128~127
- 打印 上一主题 下一主题 java中为什么byte的取值范围是-128到+127
- 为什么Java byte 类型的取值范围是-128~127