需要掌握:
先说结论
原码范围
n位二进制数原码的数值范围:
- (2^(n-1) - 1) ~ 2^(n-1) - 1
反码范围
正数反码:与原码相同
负数反码:在原码的基础上,按位取反,符号位不变
所以范围与原码范围相同:
- (2^(n-1) - 1) ~ 2^(n-1) - 1
数值个数
2^n - 1
- 是因为有一个是 -0,等于 0,所以不算
8位二进制正数的值(原码)
8位二进制正数的值(有符号位置):
0000 0000 表示0
0000 0001 表示1
0000 0010 表示2
0000 0011 表示3
....
0111 1111 表示127
正数最大值 127
所以正数的最大值是 127
正数个数
128个数字
正数最大值公式
最大值公式:2^(n-1) - 1
8位二进制负数的值(原码)
1000 0000 表示 -0 没意义,而且等于0
1000 0001 表示 -1
1000 0010 表示 -2
1000 0011 表示 -3
....
1111 1111 表示 -127
负数最大值 -127
所以负数最大值 -127
负数个数
127个数字(-0没意义,而且等于0)
负数最大值公式
负数最大值公式:-2^(n-1) - 1
数值个数
128 个正数 + 127 个负数 = 255 个数
公式
2^n - 1
参考:
https://blog.csdn.net/qq_51216031/article/details/136319167