C语言浮点数存储是怎么规定的?
#include <stdio.h>int main()
{
float a;
float b,c;
a = 100/3.0;
//a = 1000000/3.0;我发现整数部分增加,小数部分就减少,C语言浮点数这方面是怎么规定的?
printf("%20.18f",a);
return 0;
} 整数部分增加,小数部分就减少是因为 %20.18f 的关系吧 liuzhengyuan 发表于 2020-4-22 08:13
整数部分增加,小数部分就减少是因为 %20.18f 的关系吧
能不能说的详细一点呢。 本帖最后由 sunrise085 于 2020-4-22 09:02 编辑
看看我的 这篇帖子吧
C语言中浮点数存储与%f输出细节探究
我没太明白你所说的小数部分减少是什么意思。小数部分值减小了?小数部分精确的位数减少了?float的有效位数是8位,double的有效位数是15位,超过这些为之后的都是不精确的 本帖最后由 liuzhengyuan 于 2020-4-22 08:37 编辑
〃忝書γě渎ぐ 发表于 2020-4-22 08:34
能不能说的详细一点呢。
有可能是因为 1000000000/3 超出了 float 的范围 (用 double 试试看)
页:
[1]