将其写在一行中:通过数字符号添加或减少

Alo*_*iel 2 c++

float f = -0.050000;
Run Code Online (Sandbox Code Playgroud)

我想做下一个规则:

if (f < 0) f -= 0.2;
else       f += 0.2;
Run Code Online (Sandbox Code Playgroud)

可以选择一行吗?

das*_*ght 6

您可以使用C++无分支签名函数的修改版本:

f += 0.2 * ((0<=f)-(f<0));
Run Code Online (Sandbox Code Playgroud)

表达方式

(0<=f)-(f<0)
Run Code Online (Sandbox Code Playgroud)

计算-1何时f小于零,1何时f大于或等于零.