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。

相关推荐
~|Bernard|14 小时前
二.go语言中map的底层原理(2026-5-8)
算法·golang·哈希算法
AbandonForce14 小时前
哈希表(HashTable,散列表)个人理解
开发语言·数据结构·c++·散列表
mask哥14 小时前
力扣算法java实现汇总整理(下)
java·算法·leetcode
样例过了就是过了14 小时前
LeetCode热题100 编辑距离
数据结构·c++·算法·leetcode·动态规划
z2005093014 小时前
C++中位图和布隆过滤器的一些面试题
开发语言·c++
wearegogog12314 小时前
MATLAB椭圆参数检测算法实现
数据库·算法·matlab
secondyoung14 小时前
Markdown数学公式语法速查手册
算法·编辑器·markdown·latex
君义_noip15 小时前
CSP-S 2025 提高级 第一轮(初赛) 阅读程序(1)
算法·深度优先·信息学奥赛·初赛
小O的算法实验室15 小时前
2026年IEEE TEVC,知识引导的竞争进化算法用于多解传感器-武器-目标分配问题,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
khalil102015 小时前
代码随想录算法训练营Day-46 动态规划13 | 647. 回文子串、516.最长回文子序列、动态规划总结
数据结构·c++·算法·leetcode·动态规划·回文子串·回文子序列