C语言double和float 实例分析

2025-05-27 0 75

小数也称实数或浮点数。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。这是常见的小数的表现形式,称为十进制形式。

除了十进制形式,也可以采用指数形式,例如 7.25×102、0.0368×105、100.22×10-2 等。任何小数都可以用指数形式来表示。

C语言中的小数也有这两种表示形式。在书写时,十进制形式和数学中的一样,指数形式有所差异。

C语言中小数的指数形式为:

aEn 或 aen

a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E或e是固定的字符,其值为 a×10n。例如:

2.1E5 = 2.1×105,其中2.1是尾数,5是指数。

3.7E-2 = 3.7×10-2,其中3.7是尾数,-2 是指数。

0.5E7 = 0.5×107,其中0.5是尾数,7是指数。

C语言中小数的数据类型为 floatdoublefloat 称为单精度浮点数,double 称为双精度浮点数。不像整数,小数的长度始终是固定的,float 占用4个字节,double 占用8个字节。

10 是固定的,不需要在内存中体现出来。正负号、指数(n)、尾数(a) 是变化的,需要占用内存空间来表示。

floatdouble 在内存中的形式如下所示:

C语言double和float 实例分析

输出 float 使用 %f 控制符,输出 double 使用 %lf 控制符,如下所示:

?

1

2

3

4

5

6

7

8

9

10

11

12

13
#include <stdio.h>

#include <stdlib.h>

int main()

{

float a=128.101;

float b=0.302f;

float c=1.23002398f;

double d=123;

double e = 78.429;

printf("a=%f \\nb=%f \\nc=%f \\nd=%lf \\ne=%lf\\n", a, b, c, d, e);

system("pause");

return 0;

}

运行结果:

a=128.100998

b=0.302000

c=1.230024

d=123.000000

e=78.429000

对代码的说明:

1) %f 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。

2) 将整数赋值给 float 变量时会转换为小数。

3) 小数默认为 double 类型,加上后缀f才是float类型。

4) 由于内存有限,小数的精度受限,所以输出 a 时只能获得一个近似数。

以上就是对C语言doublefloat 进行的详细分析、比较,希望能帮助学习这块内容的同学。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 C语言double和float 实例分析 https://www.kuaiidc.com/74759.html

相关文章

发表评论
暂无评论