第二书包网

收藏备用网址www.dier22.com不迷路
繁体版 简体版
第二书包网 > c语言设计第三版 > 345 (无小数点)

345 (无小数点)

E7 (阶码标志 E 之前无数字)

-5 (无阶码标志)

53.-E3 (负号位置不对)

2.7E (无阶码)

谭浩强 C 语言程序设计 2001 年 5 月 1 日

标准C允许浮点数使用后缀。后缀为“f”或“F”即表示该数为浮点数。如 356f 和 356.

是等价的。

【例 3.5】说明了这种情况。

main(){

printf("%f\n ",356.);

printf("%f\n ",356);

printf("%f\n ",356f);

3.4.2 实型变量

1. 实型数据在内存中的存放形式

实型数据一般占 4 个字节(32 位)内存空间。按指数形式存储。实数 3.14159 在内存中

的存放形式如下:

数符

.314159

小数部分

指数

小数部分占的位(bit)数愈多,数的有效数字愈多,­精­度愈高。

? 指数部分占的位数愈多,则能表示的数值范围愈大。

2. 实型变量的分类

实型变量分为:单­精­度(float 型)、双­精­度(double 型)和长双­精­度(long double 型)

三类。

在 Turbo C 中单­精­度型占 4 个字节(32 位)内存空间,其数值范围为 3.4E-38~3.4E+38,

只能提供七位有效数字。双­精­度型占 8 个字节(64 位)内存空间,其数值范围为 1.7E-308~

1.7E+308,可提供 16 位有效数字。

类型说明符 比特数(字节数) 有效数字

数的范围

float

double

long double

32(4)

64(8)

128(16)

6~7

15~16

18~19

10-37~1038

10-307~10308

10-4931~104932

实型变量定义的格式和书写规则与整型相同。

例如:

float x,y; (x,y 为单­精­度实型量)

double a,b,c; (a,b,c 为双­精­度实型量)

3. 实型数据的舍入误差

由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的。如下例。

【例 3.6】实型数据的舍入误差。

main()

{float a,b;

a=123456.789e5;

b=a+20

printf("%f\n",a);

printf("%f\n",b);

注意:1.0/3*3 的结果并不等于 1。

谭浩强 C 语言程序设计 2001 年 5 月 1 日

【例 3.7】

main()

float a;

double b;

a=33333.33333;

b=33333.33333333333333;

printf("%f\n%f\n",a,b);

? 从本例可以看出,由于 a 是单­精­度浮点型,有效位数只有七位。而整数已占五位,

故小数二位后之后均为无效数字。

b 是双­精­度型,有效位为十六位。但 Turbo C 规定小数后最多保留六位,其余部

分四舍五入。

3.4.3 实型常数的类型

实型常数不分单、双­精­度,都按双­精­度 double 型处理。

3.5 字符型数据

一秒记住www点dier22点com,最新小说等你来
『加入书签,方便阅读』