【发布时间】:2014-06-18 01:15:02
【问题描述】:
y=20;
x=32640;
b=1920;
if (
n > (x*1) && n < ((x*1)+(b))||
n > (x*2) && n < ((x*2)+(b))||
n > (x*3) && n < ((x*3)+(b))||
n > (x*4) && n < ((x*4)+(b))||
n > (x*5) && n < ((x*5)+(b))||
n > (x*6) && n < ((x*6)+(b))||
n > (x*7) && n < ((x*7)+(b))||
n > (x*8) && n < ((x*8)+(b))||
n > (x*9) && n < ((x*9)+(b))||
n > (x*10) && n < ((x*10)+(b))
){y = 40;}
在 C++ 中是否有更快的方法来执行此操作,因为我只在 32640 之后为每个条件增加数字?
(性能更快)
【问题讨论】:
-
听起来余数运算符 (
%) 会在这里救场。 -
@BENZ.404 我没有否决您的问题,但您的代码应该使用常量以提高可读性。
-
这个问题似乎是题外话,更适合codereview.stackexchange.com,因为它是关于寻找更好的方法来执行特定任务。
-
如果数字从
32640更改为另一个值并替换每个出现的值,你忘记了怎么办? -
代码中的幻数导致难以破译和维护代码。至于优化问题,你首先要知道你的编译器自己的优化把它变成了什么。
标签: c++ conditional-statements increment