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。

相关推荐
代码中介商10 分钟前
C++运行时多态深度解析:从原理到实践
开发语言·c++·多态·虚函数
QuZero10 分钟前
Semaphore Principle
java·算法
ZPC821014 分钟前
自定义机械臂驱动(Action Server + /joint_states 发布)
算法
啊我不会诶15 分钟前
牛客练习赛151
算法·深度优先·图论
Ricardo-Yang21 分钟前
# BPE Tokenizer:从训练规则到推理切分的完整理解
人工智能·深度学习·算法·机器学习·计算机视觉
qyzm27 分钟前
牛客周赛 Round 140
数据结构·python·算法
Severus_black28 分钟前
顺序表、单链表经典算法题分享(未完待续...)
c语言·数据结构·算法·链表
代码中介商28 分钟前
C++ 继承与派生深度解析:存储布局、构造析构与高级特性
开发语言·c++·继承·派生
我不是懒洋洋35 分钟前
【经典题目】栈和队列面试题(括号匹配问题、用队列实现栈、设计循环队列、用栈实现队列)
c语言·开发语言·数据结构·算法·leetcode·链表·ecmascript
谭欣辰38 分钟前
C++ 控制台跑酷小游戏2.0
开发语言·c++·游戏程序