gpt4 book ai didi

c - 为什么两次计算给出不同的答案?

转载 作者:太空狗 更新时间:2023-10-29 16:12:41 26 4
gpt4 key购买 nike

#include <stdio.h>

#define pi1 3.141

const float pi = 3.141;

int main()
{
printf("%f %f", 4 * 10 * pi, 4 * 10 * pi1);
}

输出(在我的机器上)是 125.639999 125.640000

最佳答案

pi1 是预处理器符号,在文本中被替换为 double 。

pi 是一个从 double 初始化的浮点常量,因此会丢失一些精度位(请参阅 IEEE754 规范)。

有关更多详细信息,作为 float 的 pi 实际上存储为 0x40490625,即 3.1410000324249267578125。 pi1存储为0x400920C49BA5E354,即3.1410000000000000142108547152

关于c - 为什么两次计算给出不同的答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21484478/

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