读书人

求大神帮忙解答~解决方案

发布时间: 2013-12-09 09:45:50 作者: rapoo

求大神帮忙解答~~~
大神们 帮我看下,为什么int类型超出最大值范围,输出最后会变成0, 而不是负数?求大神帮忙解答~解决方案
[解决办法]
65536 * 65536 结果的二进制取32位,就是0了
[解决办法]

引用:
65536 * 65536 结果的二进制取32位,就是0了


++
是的,本来就是0,并不是超出范围了就是0
[解决办法]
引用:
65536 的16 进制 是 3CB0 ,两个乘完 是怎么变 0 的呀


2的32次方。取低32位结果是0


[解决办法]
引用:
65536 的16 进制 是 3CB0 ,两个乘完 是怎么变 0 的呀

65536 * 65536 = 4294967296,其用二进制表示是:
1 0000 0000 0000 0000 0000 0000 0000 0000有33位,int型取低32位,这32位都是 0 。

读书人网 >J2SE开发

热点推荐