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。

相关推荐
王老师青少年编程13 小时前
信奥赛C++提高组csp-s之组合数学专题课:卡特兰数
c++·组合数学·卡特兰数·csp·信奥赛·csp-s·提高组
闻道且行之13 小时前
C/C++ HTTP 服务:常用方法与实现方式全解析
c语言·c++·http·libhv·curl·mongoose·libcurl
Wect14 小时前
LeetCode 4. 寻找两个正序数组的中位数:二分优化思路详解
前端·算法·typescript
ZPC821014 小时前
moveitcpp 没办法执行的问题
人工智能·pytorch·算法·机器人
智者知已应修善业14 小时前
【C++非递归剪枝问题凑钱方案数】2024-7-18
c语言·c++·经验分享·笔记·算法·剪枝
BigLeo14 小时前
c++中,声明(Declaration)与定义(Definition)有什么不同?
c++
Yolo_TvT14 小时前
C++:缺省参数
开发语言·c++·算法
进击的小头14 小时前
第19篇:多个PI控制器串联控制系统设计与参数整定调试实战
python·算法
承渊政道14 小时前
【优选算法】(实战领略前缀和的真谛)
开发语言·数据结构·c++·笔记·学习·算法
xiaoliuliu1234514 小时前
Dev C++ 5.11开发编辑器 安装教程:详细步骤+自定义安装路径(附简体中文设置)
开发语言·c++