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。

相关推荐
z2005093013 小时前
今日算法(依旧二叉树)
算法·leetcode·职场和发展
Zxc_13 小时前
《遗传算法:从自然选择到Rastrigin函数优化,手写一个完整的进化求解器》
算法
王老师青少年编程13 小时前
csp信奥赛C++高频考点专项训练之字符串 --【字符串综合】:[NOIP 2015 提高组] 子串
c++·字符串·csp·高频考点·子串·信奥赛
阿Y加油吧13 小时前
两道经典动态规划题:乘积最大子数组 & 分割等和子集 复盘笔记
笔记·算法·动态规划
June`13 小时前
redis项目之命令解析器
数据库·c++·redis
三品吉他手会点灯14 小时前
C语言学习笔记 - 33.数据类型 - printf函数的详细用法
c语言·开发语言·笔记·学习·算法
rGzywSmDg14 小时前
如何在Dev-C++中设置TDM-GCC为默认编译器
开发语言·c++
NashSKY14 小时前
PnP 问题:数学描述与 DLT 算法推导
算法·矩阵分解·多视图几何·射影几何
csdn_aspnet15 小时前
C++ Lomuto分区算法(Lomuto Partition Algorithm)
开发语言·c++·算法