gpt4 book ai didi

c - sin(pi) 没有返回精确的零?

转载 作者:太空宇宙 更新时间:2023-11-04 06:54:40 25 4
gpt4 key购买 nike

<分区>

#include <math.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
double pi = acos(-1);

for(int i = 0; i<65;i++)
{
double resultD = sin( pi * (2.0 *i / 128.0 ));
float resultF = sin( pi * (2.0f*i / 128.0f));

printf("sine[%d]\n %.25f\n %.25f \n", i,resultD,resultF);
}
}

在上面的代码中,我希望最后一个值完全为零。但是,它类似于 0.0000000000000001224606354。另一方面,i=0 处的值是干净的 0.000000000000000i=32 处的值是干净的 1.000000000000000.

我正在将浮点代码移植到定点代码中,这个小差异逐渐扩大。
有没有办法强制 i=64 处的值精确为零?

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