Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Overflow 乘法上的条件检查溢出_Overflow_Conditional Statements - Fatal编程技术网

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))