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。

相关推荐
星火开发设计1 分钟前
从公式到应用:卷积公式全面解析与实战指南
学习·算法·机器学习·概率论·知识·期末考试·卷积公式
CoderCodingNo4 分钟前
【GESP】C++五级/六级练习题(前缀和/动态规划考点) luogu-P1719 最大加权矩形
开发语言·c++·动态规划
xiaoye-duck4 分钟前
吃透C++类和对象(中):const成员函数与取地址运算符重载深度解析
c++
学嵌入式的小杨同学7 分钟前
循环队列(顺序存储)完整解析与实现(数据结构专栏版)
c语言·开发语言·数据结构·c++·算法
Yu_Lijing7 分钟前
基于C++的《Head First设计模式》笔记——适配器模式
c++·笔记·设计模式
txinyu的博客8 分钟前
C++ 单例模式
c++·单例模式
点云SLAM8 分钟前
C++ 设计模式之工厂模式(Factory)和面试问题
开发语言·c++·设计模式·面试·c++11·工厂模式
shangjian0079 分钟前
AI大模型-机器学习-算法-线性回归-优化方法
人工智能·算法·机器学习
玖釉-12 分钟前
[Vulkan 学习之路] 05 - 缔结契约:创建逻辑设备 (Logical Device)
c++·windows·图形渲染
shangjian00712 分钟前
AI大模型-机器学习-算法-逻辑回归
人工智能·算法·机器学习