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。

相关推荐
田里的水稻3 分钟前
FA_建图和定位(ML)-超宽带(UWB)定位
人工智能·算法·数学建模·机器人·自动驾驶
Navigator_Z4 分钟前
LeetCode //C - 964. Least Operators to Express Number
c语言·算法·leetcode
郝学胜-神的一滴5 分钟前
Effective Modern C++ 条款40:深入理解 Atomic 与 Volatile 的多线程语义
开发语言·c++·学习·算法·设计模式·架构
摸鱼仙人~10 分钟前
算法题避坑指南:数组/循环范围的 `+1` 到底什么时候加?
算法
liliangcsdn16 分钟前
基于似然比的显著图可解释性方法的探索
人工智能·算法·机器学习
骇城迷影18 分钟前
代码随想录:二叉树篇(中)
数据结构·c++·算法·leetcode
czxyvX18 分钟前
011-C++之异常
c++
tod11327 分钟前
C++核心知识点全解析(四)
开发语言·c++·面试经验
期末考复习中,蓝桥杯都没时间学了33 分钟前
力扣刷题23
算法·leetcode·职场和发展
闻缺陷则喜何志丹33 分钟前
【计算几何 CAD】三点画弧、三点画圆是否是三角形的外接圆
c++·计算几何·cad··外接圆·