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。

相关推荐
滴滴答滴答答11 分钟前
机考刷题之 6 LeetCode 169 多数元素
算法·leetcode·职场和发展
娇娇yyyyyy17 分钟前
C++基础(6):extern解决重定义问题
c++
青主创享阁38 分钟前
玄晶引擎2.7.8更新解析:全新UI+Sora接入,功能优化与Bug修复全汇总
人工智能·bug
Neteen1 小时前
【数据结构-思维导图】第二章:线性表
数据结构·c++·算法
礼拜天没时间.1 小时前
力扣热题100实战 | 第25期:K个一组翻转链表——从两两交换到K路翻转的进阶之路
java·算法·leetcode·链表·递归·链表反转·k个一组翻转链表
Swift社区1 小时前
LeetCode 400 第 N 位数字
算法·leetcode·职场和发展
再难也得平1 小时前
力扣239. 滑动窗口最大值(Java解法)
算法·leetcode·职场和发展
摩尔曼斯克的海1 小时前
力扣面试题--双指针类
python·算法·leetcode
灰色小旋风1 小时前
力扣——第7题(C++)
c++·算法·leetcode
在坚持一下我可没意见2 小时前
软件测试入门复习笔记:BUG篇
笔记·bug·测试