C++的bug, 0 和 -0 ?

今天发现了C++的一个bug,运行下面这段代码

cpp 复制代码
#include <iostream>
using namespace std;

int main()
{
	double a = -1;
	double b = 0;
	double c = (a)*b;
	a += 1;

	cout << a << " " << b << " " << c << endl;

	return 0;
}

会得到结果:

调试一下,会发现:

这是一个bug。

相关推荐
无限空间之王2 分钟前
我让三个 AI 互相竞争进化,两天后它们发明了一个我看不懂的算法
算法
sinat_2554878110 分钟前
为 System.out 编写我们自己的包装类
java·开发语言·算法
阿Y加油吧21 分钟前
力扣打卡——盛最多水的容器、三数之和
算法·leetcode·排序算法
Barkamin26 分钟前
快速排序非递归实现
java·算法·排序算法
gihigo199830 分钟前
距离角度解耦法的MIMO-OFDM雷达波束形成及优化MATLAB实现
开发语言·算法·matlab
WolfGang00732130 分钟前
代码随想录算法训练营 Day12 | 二叉树 part02
算法·深度优先
愚者游世32 分钟前
Qt 基础认知
c++·学习·程序人生·职场和发展·visual studio
2401_8535765036 分钟前
代码自动生成框架
开发语言·c++·算法
逆境不可逃42 分钟前
【从零入门23种设计模式23】行为型之模板模式
java·开发语言·算法·设计模式·职场和发展·模板模式
ZPC821043 分钟前
PPO 在ROS2 中训练与推理
人工智能·算法·机器人