2012计算机等考二级C语言辅导之实型数据
3203 点击·0 回帖
![]() | ![]() | |
![]() | 实型数据 1 实型常量 实型常量又称实数或浮点数。在C语言中可以用两种形式表示一个实型常量。 一、小数形式 小数形式是由数字和小数点组成的一种实数表示形式,例如0.123、.123、123.、0.0等都是合法的实型常量。注意:小数形式表示的实型常量必须要有小数点。 二、指数形式 这种形式类似数学中的指数形式。在数学中,一个数可以用幂的形式来表示,如2.3026可 以表示为0.23026×101、2.3026×100、23.026×10-1等形式。在C语言中,则以“e”或“E”后跟一个整数来表示以10为底的幂数。2.3026可以表示为0.23026E1、2.3026e0、23. 026e-1。C语言的语法规定,字母e或E之前必须要有数字,且e或E后面的指数必须为整数。如e3、.5e3.6、.e3、e等都是非法的指数形式。注意:在字母e或E的前后以及数字之间不得插入空格。 2 实型变量 C语言中实型变量分为单精度型和双精度型两种,分别用类型名float和double进行定义。 单精度型变量定义的形式如下: float a,b,c; 双精度型变量定义的形式如下: double x,y,z; 在一般计算机系统中,为float类型的变量分配4个字节的存储单元,为double类型的变量分配8个字节的存储单元,并按实型数的存储方式存放数据。实型的变量只能存放实型数,不能用整型变量存放一个实数,也不能用实型变量存放一个整数。 在VC6.0中单精度实数(float类型)的数值范围约在-1038~1038之间,并提供7位有效数 字位;绝对值小于10-38的数被处理成零值。双精度实数(double类型)的数值范围约在-10308~10308之间,并提供15~16位有效数字位,具体精确到多少位与机器有关;绝对值小于10-308的数被处理成零值。因此double型变量中存放的数据要比float型变量中存放的数据精确得多。注意,在VC6.0中,所有的float类型数据在运算中都自动转换成double型数据。 前面已经介绍过,在程序中一个实数可以用小数形式表示,也可以用指数形式表示。但在内存中,实数一律是以指数形式存放的。 注意:在计算机中可以精确地存放一个整数,不会出现误差,但整型数值的数值范围比实数小。实型数的数值范围较整型大,但往往存在误差。 | |
![]() | ![]() |