【发布时间】:2015-06-14 20:20:31
【问题描述】:
我有一个函数可以返回 3 个不同值之一:0、-1、1(或 0、1、2)。
条件 1 比条件 2 更有可能,条件 2 比非条件更可能为真,因此 elseif
function [A] = example(...)
if condition1 == true
A = 1;
elseif condition2 == true
A = -1;
else
A = 0;
end
我需要检查A的值,这样做时,查看A是正数还是负数,或者1还是2会更有效吗?
示例 1:
if A > 0
% Do something
elseif A < 0
% Do something else
else
% Do nothing
end
示例 2:
if A == 1
% Do something
elseif A == 2
% Do something else
else
% Do nothing
end
女巫的例子将是最有效的循环方式?
【问题讨论】:
-
您是在谈论 C 还是 MATLAB,因为您标记了这两个标签。如果这只是关于 MATLAB(我假设),请删除 C 标签。谢谢
-
我读到编译器可以使用正值(无符号)进行更好的优化。
-
C 是一个错误,已被删除。那是否意味着 0、1、2 会更有效率?
-
处理器使用逻辑门进行比较并将所有位一起比较,所以我想不会有任何区别。
-
相关:stackoverflow.com/questions/24848359/… - 基本上,编译器/解释器在后台执行优化,因此基本上是相同的。做任何你觉得最舒服的事。
标签: matlab