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。

相关推荐
凤年徐9 小时前
C++ STL list 容器详解:使用与模拟实现
开发语言·c++·后端·list
艾莉丝努力练剑9 小时前
【Linux进程控制(三)】实现自主Shell命令行解释器
linux·运维·服务器·c++·人工智能·安全·云原生
坐怀不乱杯魂9 小时前
Linux网络 - UDP/TCP底层
linux·服务器·网络·c++·tcp/ip·udp
YuTaoShao9 小时前
【LeetCode 每日一题】744. 寻找比目标字母大的最小字母——(解法一)遍历
算法·leetcode·职场和发展
代码无bug抓狂人9 小时前
动态规划习题篇(不同路径和整数拆分)
算法·动态规划
难得的我们9 小时前
基于C++的区块链实现
开发语言·c++·算法
从此不归路9 小时前
Qt5 进阶【12】JSON/XML 数据协议处理:与后端/配置文件的对接
xml·开发语言·c++·qt·json
季明洵9 小时前
Java实现顺序表
java·数据结构·算法·顺序表
艾莉丝努力练剑9 小时前
【QT】信号与槽
linux·开发语言·c++·人工智能·windows·qt·qt5
轩情吖9 小时前
Qt的窗口(二)
开发语言·c++·qt·qdialog·对话框·桌面级开发