需要掌握:
先说结论
补码范围
n位二进制数补码的数值范围:
-2^(n-1) ~ 2^(n-1) - 1
移码范围
补码的 符号位 取反,其他与补码相同
所以范围与补码范围相同:
-2^(n-1) ~ 2^(n-1) - 1
数值个数
2^n
多了一个人为指定的 二进制数 1000 000 表示 -128
8位二进制正数的值(补码)
- 正数的补码:就是自己本身
8位二进制正数的补码如下(第一位是符号位):
0000 0000 表示0
0000 0001 表示1
0000 0010 表示2
0000 0011 表示3
....
0111 1111 表示127
正数最大值 127
所以正数的最大值是 127
正数最大值公式
最大值公式:2^(n-1) - 1
正数个数
128个数字
8位二进制负数的值(补码)
负数的反码:在原码的基础上,按位取反,符号位不变
负数的补码:在自身 反码 的基础上加
1
8位二进制负数的补码如下(第一位是符号位):
1111 1111 表示 -1
1111 1110 表示 -2
1111 1101 表示 -3
....
1000 0001 表示 -127
1000 0000 表示什么?(-128的来源)
通过上面的计算得知,不会有补码是 1000 0000
因此,这里就特别规定,这个二进制,定义为 -128,即:负数最大值
负数最大值 -128
所以负数最大值 -128
负数最大值公式
负数最大值公式:-2^(n-1)
负数个数
128个数字,因为有人为制定的 -128
数值个数
128 个正数 + 128 个负数 = 256 个数
公式
2^n
参考:
https://blog.csdn.net/qq_51216031/article/details/136319167