获取0或取决于布尔值的值的好方法是什么?

时间:2011-05-24 14:22:08

标签: c++ bitwise-operators mathematical-optimization

我正在处理一段代码,它只是简单地使用布尔值来查看屏幕是否垂直翻转。 这完成了:

glOrtho(0.0f, _width, flip ? 0.0f : _height, flip ? _height : 0.0f, -1.0f, 1.0f);

我想知道是否会有更优化的方法来做到这一点,例如:

glOrtho(0.0f, _width, !flip * _height, flip * _height, -1.0f, 1.0f);

或者按位操作会有效吗?

感谢您的反馈!

2 个答案:

答案 0 :(得分:8)

你确定这是你程序中的瓶颈吗?不要为了一点点收益而对代码进行早期优化和混淆。

答案 1 :(得分:1)

通常,boolValue ? floatValue : 0.0f等于boolValue * floatValue