(笔记)浮点型数据

本文介绍了浮点型常量的两种表示形式——十进制小数和指数形式,并详细讲解了浮点数在内存中的存储方式,以及浮点型变量的分类,包括单精度、双精度和长双精度。此外,还提及了浮点型数据的舍入误差问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

浮点型常量的表示方法:

浮点数(floating-point number)就是实数(real number)。浮点数有两种表示形式:
(1)十进制小数形式。它由数字和小数点组成。0.123、123.、123.0、0.0都是十进制小数形式。
(2)指数形式。如123e3或123E3都代表123×103。

注意字母e或E之前必须有数字,且e后面的指数必须为整数,如e3、2.1e3.5、e3、e都不是合法的指数形式

实数规范化的指数形式:0.31415e2 (小数点前的数字为0)

内存中的存放形式:

这里写图片描述

浮点型变量的分类:

浮点型变量分为单精度(float)型、双精度(double)型和长双精度(long double)型3类。在Turbo C中有关浮点型的数据见下表。

这里写图片描述

浮点型数据的舍入误差:

main()
{
    float a, b;
    a=123456.789e5;
    b=a+20;
    printf(“%f”, a);
    printf(“%f”, b);
    printf("1.0/3*3 = %f",1.0/3*3);
    printf("1/3*3 = %d",1/3*3);
}
//float有效位为7位
//12345678848.0000000
//12345678848.0000000
//1
//0
C语言编译系统将浮点型常量作为双精度来处理。如果是在数的后面加字母f和F(如1.65f654.87F),这样编译系统就会按单精度处理。

long f;
f=2.45678*4523.65;
printf("%f\n",f);
//真值:11113.612847
//机器:11113.613281
//只能真确表示真值的前7位,可以用double存储
float a;
a = 111111.111;
//存储进去就会出现问题,有效位的原因
//输出:111111.109375
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值