为什么65536*65536输出的是0cout<<65536*65536<<endl;结果是0啊???cout<<65537*65537<<endl;又是正确的??怎么回事》?[解决办法]2^16 = 655362^32 = 2^16 * 2^16 = 65536 * 65536所以第一个输出0是很正常的,就想在二进制运算时,1 + 1 = 10,如果结果只能有1位的话,那么前面的那个1就溢出了,你看到的结果就是1 + 1 = 0啦。