gpt4 book ai didi

c++ - 写在一行 : add or reduce by a sign of a number

转载 作者:太空狗 更新时间:2023-10-29 23:28:09 26 4
gpt4 key购买 nike

float f = -0.050000;

我要执行下一条规则:

if (f < 0) f -= 0.2;
else f += 0.2;

有一个选项可以一行完成吗?

最佳答案

您可以使用 C++ branchless 的修改版本 signum为此功能:

f += 0.2 * ((0<=f)-(f<0));

表达式

(0<=f)-(f<0)

f 小于零时计算为 -1,当 f 大于或等于 1等于零。

关于c++ - 写在一行 : add or reduce by a sign of a number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16759795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com