n位二进制 整数 的原码、反码的数值范围、数值个数

需要掌握:

先说结论

原码范围

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