c++ - 我应该使用 x = -x 将负数转换为正数,反之亦然(在 C++ 中)?
问题描述
我想知道是否应该使用此“x = -x”将负数转换为正数或将正数转换为 C++ 中的负数。我的意思是到目前为止工作得很好,但我不确定是否推荐。
我将不胜感激有关这件事的一些反馈。谢谢!!
int x = 10;
if (x > 0) {
x = -x;
}
cout << x; // x = -10;
解决方案
这样做很好。你不应该担心这样的事情。如果您担心性能,您应该测量性能或检查它生成的程序集。
我创建了一个编译器资源管理器示例。它比较 和 的程序x = - x;
集x *= -1;
。即使您不知道汇编,您也可以清楚地看到它会生成相同的代码。反正也不是很多!(并且当优化器标志打开时它会消失。
推荐阅读
- r - 在多面图-ggplot2 上添加 x 轴标签
- php - 在 system.cfg php 中查找和替换值
- ecmascript-6 - ECMA6 类不适用于带有 Webpack 和 Babel 的 IE11
- python - 如何将 pandas DataFrame 导出到 Microsoft Access?
- ios - 登录后继续处理收据
- computer-vision - 裁剪图像的不同缩放 - LSTM 图像分类
- azure-devops - 如何通过 VSTS 将 Java 触发的 webjob 部署到 Azure
- html - 如何将站点用户登录到另一个站点
- aws-glue - Map.apply 操作后如何更新 Frame 的架构?
- java - 在java中将以`00`开头的字符串数字转换为`+`