gpt4 book ai didi

C : Convert Char To Float Produce 0. 000002?

转载 作者:行者123 更新时间:2023-11-30 21:15:19 25 4
gpt4 key购买 nike

#include <stdio.h>
#include <conio.h>
int main()
{
int a = 8; float b = 3.9; char c='a';
float hasil = a+b+c;
printf("%f", hasil);
getch();
return 0;
}

我得到结果108.900002

那么,0.000002在哪里呢?

如果我改为

float hasil = a+b;

那么结果将是11.900000

那么如果我们将char转换为float,那么它肯定会增加值0.000002?真的吗 ?如果是的话为什么?

谢谢你

最佳答案

char c = 'a' 将值 97 赋给 c97 + 8 + 3.9 是实数中的 108.9,但它没有精确的 float 表示形式。这就是虚假的 0.000002 的来源。正如 Keith Thompson 指出的那样,实际值可能是 108.90000152587890625,但 %f 格式说明符可能对其进行四舍五入。

这是因为 float 只能有有限个,而实数却有无数个。

关于C : Convert Char To Float Produce 0. 000002?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40010005/

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