在32位和64位进行整数数学运算的最佳方法是什么,以便像C语言一样发生溢出?
例如(65536 * 65536 + 1)*(65536 * 65536 + 1)在64位数学运算中应为0x0000000200000001,而不是其确切值(不溢出)0x10000000200000001。
只是&将结果与相应的32位或64位掩码(0xffffffff或0xffffffffffffffff)。
&
0xffffffff
0xffffffffffffffff