首页 > 解决方案 > 我应该使用 x = -x 将负数转换为正数,反之亦然(在 C++ 中)?

问题描述

我想知道是否应该使用此“x = -x”将负数转换为正数或将正数转换为 C++ 中的负数。我的意思是到目前为止工作得很好,但我不确定是否推荐。

我将不胜感激有关这件事的一些反馈。谢谢!!

int x = 10;
if (x > 0) {
    x = -x;
}
cout << x; // x = -10;

标签: c++

解决方案


这样做很好。你不应该担心这样的事情。如果您担心性能,您应该测量性能或检查它生成的程序集。

我创建了一个编译器资源管理器示例。它比较 和 的程序x = - x;x *= -1;。即使您不知道汇编,您也可以清楚地看到它会生成相同的代码。反正也不是很多!(并且当优化器标志打开时它会消失。


推荐阅读