gpt4 book ai didi

c++ - 为什么 0 乘以负 double 会变成 -0?

转载 作者:行者123 更新时间:2023-11-27 23:50:44 25 4
gpt4 key购买 nike

cout << 0 * -5 << endl; // this is zero
cout << 0 * -5.0 << endl; // this is negative zero

我是 C++ 的新手,我不明白为什么乘以 double 会影响零乘以任何东西,因为它应该始终为零。

最佳答案

在第一行,

cout << 0 * -5 << endl;

0 和 -5 都是有符号整数。整数不区分 0-0

在第二行,

cout << 0 * -5.0 << endl;

第二个数字是 double ,因此 0 也被提升为 double ,为此 IEEE 浮点定义了 0-0 值。

关于c++ - 为什么 0 乘以负 double 会变成 -0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46637296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com