繁体   English   中英

我应该使用 x = -x, 将负数转换为正数,反之亦然(在 C++ 中)?

[英]Should I use x = -x, to convert a negative number to a positive number and vice versa (in C++)?

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

我会很感激一些关于这件事的反馈。 谢谢!!

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM