假设您有两个32位DWORD x和y,如何检测它们的总和是否会导致溢出,但不诉诸本地程序集来检查进位标志。我想要算术或二元运算符。我认为可能有一些测试方法来弄清楚。谢谢检测32位dword + dword进位/ C++
2
A
回答
5
1
应该非常节省承担,告诉我,如果我错过了任何情况下(这不会在编译器秉承上班C++ 98或更高版本的标准):
int overflowSum(DWORD a, DWORD b) {
return (b > 0) ? (a + b < a) : (a + b > a);
}
如果考虑您的DWORD是无符号,可以将其简化:
int overflowSum(DWORD a, DWROD b) {
return a + b < a;
}
相关问题
- 1. 32位和64位代码的DWORD有多大?
- 2. 获取64位数据在WM_COPYDATA命令而不是预期的32位DWORD
- 3. 64位机器上的DWORD和DWORD_PTR
- 4. 无法从 'DWORD' 转换参数1 'DWORD &&'
- 5. 无效从'DWORD(*)(void *)'转换为'DWORD(*)(void *)'
- 6. DWORD和unsigned int
- 7. C++打破DWORD为字符
- 8. 64位Windows API:C/C++“DWORD”的大小是多少?
- 9. VBScript - DWORD注册
- 10. 什么铸造了32位地址的类型(BYTE *)和(DWORD *)之间
- 11. cmp DWORD PTR和mov DWORD PTR是什么意思?
- 12. dword ptr和dword ptr之间的区别:es
- 13. 立即调用与dword addr附近的调用dword
- 14. 阅读DWORD从二进制文件
- 15. 在DWORD数组中找到最重要的DWORD
- 16. 36位存储在DWORD中? (x86汇编MASM)
- 17. 低和高DWORD => size_t
- 18. 目标c中DWORD的替代方法?
- 19. 64位OS/32位进程
- 20. 如何检测VC++代码中的JRE位(32位或64位)
- 21. 结构和线程DWORD WINAPI
- 22. `dword ptr`是什么意思?
- 23. DWord在Ruby中的操作
- 24. 将dword存储到地址
- 25. NASM显示的DWORD的printf
- 26. C# - 在32位和64位
- 27. 使用C++中的dword检查多重布尔条件
- 28. 检测32位整数溢出
- 29. 检测IIS 64位上的32位模式
- 30. 在Win 7 x64中NSIS检测32位进程
[入门 “扛” 在X + Y]的可能重复(http://stackoverflow.com/questions/6092102/getting-carry-in-xy ) – 2012-02-05 11:52:40