【发布时间】:2013-01-16 12:52:12
【问题描述】:
在执行数学运算后,例如,将两个整数相乘,是否可以使用 C++ 访问 CPU 中的溢出标志寄存器?如果不是,还有什么其他快速检查溢出的方法?
【问题讨论】:
-
@acrilige 谢谢,这回答了我问题的第二部分,关于如何在执行计算后检查溢出的任何想法?
-
由于显而易见的原因,不可能以标准的可移植方式直接访问溢出标志寄存器。但是,您可以通过一些工作来确定操作是否会溢出,并且有一些方法可以检查这一点或以非标准的非便携方式检测溢出。
-
为什么不能在计算前检查溢出?
-
将结果除以被乘数。如果你没有得到乘数,那么它就会溢出。
标签: c++ assembly flags integer-overflow