c++ - 检测 32 位双字 + 双字进位/C++

标签 c++ c overflow addition dword

假设您有两个 32 位 DWORD x 和 y,您如何检测它们的总和是否会导致溢出,而​​不求助于 native 汇编来检查进位标志。我想要算术运算符或二元运算符。我认为可能有一些位测试方法可以解决这个问题。谢谢

最佳答案

为什么不测试总和?

DWORD sum = x + y;
bool const overflow = (sum < x);

关于c++ - 检测 32 位双字 + 双字进位/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9148505/

相关文章:

c++ - 静态多态性中的歧义

c# - 如何通过 C/C++/C# 项目解析并将所有包/类/方法写入数据库?

c++ - 在这种情况下是否可以避免使用虚拟方法调用?

c++ - 在 C++ 中使用 vector 设置开关

将 cdecl 函数调用从 C 转换为使用带有可变参数列表的回调的 Pascal

C - 根据文件初始化全局二维数组

html - 文本溢出省略号

文本文件可以用作管道吗?

python - log 或 exp 的溢出/数学范围错误

VB6 大整数溢出错误