求助,关于c语言中float和double型变量赋值相同的问题
如题,我在c语言中分别定义一个float型变量a和一个double型变量b,然后分别赋值为1.2
#include<stdio.h>
int main()
{
float a = 1.2; double b = 1.2;
printf("%.lf", a - b);
return 0;
}
目的是想验证a-b的值是否为0.
通过改变printf语句输出时的位数要求,我完成了5次实验,发现精度不同的情况下a和b的值是不同的




如图,当输出要求达到60位时,出现了后面有8个0的情况,也就是说一共有52个位上有数字
那么,我就自然的想到实数存储时的尾数问题,double型变量存储时的尾数就是52位,然后我想问,这是巧合还是有一定的关系
跪求解答!!!
谢谢各位前辈!!!
#include<stdio.h>
int main()
{
float a = 1.2; double b = 1.2;
printf("%.lf", a - b);
return 0;
}
目的是想验证a-b的值是否为0.
通过改变printf语句输出时的位数要求,我完成了5次实验,发现精度不同的情况下a和b的值是不同的





如图,当输出要求达到60位时,出现了后面有8个0的情况,也就是说一共有52个位上有数字
那么,我就自然的想到实数存储时的尾数问题,double型变量存储时的尾数就是52位,然后我想问,这是巧合还是有一定的关系
跪求解答!!!
谢谢各位前辈!!!
...全文
相关推荐
C语言double和float 实例分析
通过以上分析,我们可以更好地理解C语言中`float`和`double`的区别以及它们在实际编程中的应用。对于学习C语言的初学者来说,掌握这两种浮点数类型及其使用是至关重要的。
C语言基本数据类型short、int、long、char、float、double
1.概述 C 语言包含的数据类型如下图所示 2.各种数据类型介绍 2.1整型 整形包括短整型、整形和长整形。 2.1.1短整形 short a=1; 2.1.2整形 一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前、高
c语言double类型默认输出小数几位
在C语言中,数据类型分为整型、浮点型和字符型等,浮点型用于表示带有小数部分的数值。浮点型主要包括两种:单精度浮点型(float)和双精度浮点型(double)。
c语言float类型小数点后位数
双精度浮点型-----------------------------------------C 语言中浮点型可以分为 Float 单精度型、double 双精度型和 long double 长精度型。
C语言,float double数据转换成HEX
在给出的代码中,我们首先声明了两个浮点型变量`a`(double)和`b`(float),以及两个`unsigned char`指针`p`和`q`,以及一个字符数组`m`用于存储`double`类型变量


