int 类型取值范围的困惑int类型在 内存占16位,取值范围是(-2的15次方) (2的15次方-1)我想问的是 取值范围为什么不是(-2的15次方+1) (2的15次方-1)?最小值(-2的15次方)是怎么来的?请用
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 20:36:17
![int 类型取值范围的困惑int类型在 内存占16位,取值范围是(-2的15次方) (2的15次方-1)我想问的是 取值范围为什么不是(-2的15次方+1) (2的15次方-1)?最小值(-2的15次方)是怎么来的?请用](/uploads/image/z/13384572-60-2.jpg?t=int+%E7%B1%BB%E5%9E%8B%E5%8F%96%E5%80%BC%E8%8C%83%E5%9B%B4%E7%9A%84%E5%9B%B0%E6%83%91int%E7%B1%BB%E5%9E%8B%E5%9C%A8+%E5%86%85%E5%AD%98%E5%8D%A016%E4%BD%8D%2C%E5%8F%96%E5%80%BC%E8%8C%83%E5%9B%B4%E6%98%AF%EF%BC%88-2%E7%9A%8415%E6%AC%A1%E6%96%B9%EF%BC%89+%EF%BC%882%E7%9A%8415%E6%AC%A1%E6%96%B9-1%EF%BC%89%E6%88%91%E6%83%B3%E9%97%AE%E7%9A%84%E6%98%AF+%E5%8F%96%E5%80%BC%E8%8C%83%E5%9B%B4%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E6%98%AF%EF%BC%88-2%E7%9A%8415%E6%AC%A1%E6%96%B9%2B1%EF%BC%89+%EF%BC%882%E7%9A%8415%E6%AC%A1%E6%96%B9-1%EF%BC%89%3F%E6%9C%80%E5%B0%8F%E5%80%BC%EF%BC%88-2%E7%9A%8415%E6%AC%A1%E6%96%B9%EF%BC%89%E6%98%AF%E6%80%8E%E4%B9%88%E6%9D%A5%E7%9A%84%3F%E8%AF%B7%E7%94%A8)
int 类型取值范围的困惑int类型在 内存占16位,取值范围是(-2的15次方) (2的15次方-1)我想问的是 取值范围为什么不是(-2的15次方+1) (2的15次方-1)?最小值(-2的15次方)是怎么来的?请用
int 类型取值范围的困惑
int类型在 内存占16位,取值范围是(-2的15次方) (2的15次方-1)
我想问的是 取值范围为什么不是(-2的15次方+1) (2的15次方-1)?
最小值(-2的15次方)是怎么来的?请用补码形式讲解
1楼的 用这种角度考虑~你的回答我同意.
2楼的 最大的正数就是01111111 11111111
但这不能说明最小的负数就是10000000 00000000
还有10000000 00000000=-(01111111 11111111 +1)=-2^15 我没看懂
但也请你们看下我的想法.
负数的补码 是其的绝对值取反加一,符号位变成1.
那(-2的15次方)的补码是 |-2^15 |取反加一,符号位变1.
但正整数最大值是 2^15 -1,|-2^15 |大于2^15 -1.
所以|-2^15 |的源码怎么来的,二进制是多少.
int 类型取值范围的困惑int类型在 内存占16位,取值范围是(-2的15次方) (2的15次方-1)我想问的是 取值范围为什么不是(-2的15次方+1) (2的15次方-1)?最小值(-2的15次方)是怎么来的?请用
在内存中,正数的原码和补码是一样的,而负数的补码为其绝对值的原码按位取反后加1.
对于补码是0000000000000000时,对应的值为0
补码范围是0000000000000001-0111111111111111,对应的值为全部正整数,即1-2^15-1.
补码范围是1000000000000001-1111111111111111,对应的原码是100000000000001-111111111111111,值的范围是-1~-(2^15-1).
还有一个数是100000000000000,它不能使用补码计算公式进行计算的.是计算机内部直接用它来表示-2^15.你可以参考一下:http://blog.csdn.net/aiirr/archive/2007/12/28/1998545.aspx