Overflow 乘法上的条件检查溢出
Overflow 乘法上的条件检查溢出,overflow,conditional-statements,Overflow,Conditional Statements,(A*B)>0如果A&B较大,则无法检查条件。 如何查找并检查(A,B)的此条件介于-2147483648到2147483647 如果解决方案是最优的只需将结果除以其中一个操作数(除非为零),然后检查除法的结果是否是另一个操作数。您的范围(介于-2147483648到-2147483647之间)相当小。只有两个数字属于它。对于该范围内的数字,表达式(A*B)>0可以简化为true。我拒绝回答这个问题,因为它没有显示任何研究成果,所以我将把我以前的答案复制到一个注释中:检查等价的表达式((a>0)
(A*B)>0如果A&B较大,则无法检查条件。
如何查找并检查(A,B)
的此条件介于-2147483648
到2147483647
如果解决方案是最优的只需将结果除以其中一个操作数(除非为零),然后检查除法的结果是否是另一个操作数。您的范围(介于-2147483648到-2147483647之间)相当小。只有两个数字属于它。对于该范围内的数字,表达式(A*B)>0
可以简化为true
。我拒绝回答这个问题,因为它没有显示任何研究成果,所以我将把我以前的答案复制到一个注释中:检查等价的表达式((a>0)和&(B>0))|((a<0)和&(B<0))
。