我有以下计算:
$scope.validate_category = function($index) {
return($scope.selected_category[$index] !== null
&& $scope.selected_category[$index] !== undefined);
}
是否可以将第二行转换为无分支格式?
谢谢!
答案 0 :(得分:2)
试试这个:
b = (a >= 4) * 4 + (a < 4) * ((a >> 1) & 1) * 2 + (a < 4) * (a & 1);
说明:我们返回4&#34;归零&#34;如果a> = 4,则2个最低有效位。 4,我们使用这两个最低有效位。
答案 1 :(得分:1)
您可以使用有条件应用的面具:
unsigned int a, b, t, m;
t = a - 4;
m = 0 - ((int)t < 0); // mask of all 0s or all 1s
b = (t & m) + 4; // mask all 1s: b=a-4+4; mask all 0s: b=4