1
17
从C++ 1998标准中,3.91(4):“无符号整数,声明未签名,应该服从算术模2 ^ n的法则,其中n是该特定大小的整数的值表示的位数。”
因此,假设那些是无符号整数,就像类型中的“UIT64”所示,这是C++中定义的行为,应该按照预期的方式工作。 |
2
0
如果你想要一个实际有效的方法,你必须用C或C++以外的东西来编码。为了 合理地 高效,您必须确保溢出永远不会发生,并在发生溢出时进行检测和补偿。 基本上,对于每个64位组件,您需要使用低63位和最高位分别计算加法。从这些单独的计算中,您可以计算出64位的总数,以及是否有进位。 然后,当你做上64位加法时,如果有进位的话,你就把进位加进去。如果由此产生进位,那么您已经溢出了128位变量,您需要触发一个异常,或者以其他方式处理该情况。 |
Community wiki · C中有哪些耗时的操作? 1 年前 |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |