首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为什么65536*65536输出的是0解决方法

2012-03-27 
为什么65536*65536输出的是0cout65536*65536endl结果是0啊???cout65537*65537endl又是正确的??

为什么65536*65536输出的是0
cout<<65536*65536<<endl;
结果是0啊???


cout<<65537*65537<<endl;
又是正确的??怎么回事》?


[解决办法]
2^16 = 65536
2^32 = 2^16 * 2^16 = 65536 * 65536
所以第一个输出0是很正常的,就想在二进制运算时,1 + 1 = 10,如果结果只能有1位的话,那么前面的那个1就溢出了,你看到的结果就是1 + 1 = 0啦。

热点排行