文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C语言中的基本数据类型--实型数据

C语言中的基本数据类型--实型数据

时间:2010-03-19  来源:LaoLiulaoliu

一、实型常量
    实型也称为浮点型,实型常量也称为实数或浮点数。
    1.在纯C中,实型常量只能用十进制表示,但是有两种形式。
   (1)十进制小数形式:由数字0-9以及小数点构成,其中,小数点是必不可少的,如356.0、12.2等都是合法实数,65不是合法实数,因为缺少了小数点。
   (2)指数形式:由十进制数加阶码标志“E/e”组成,一般形式为a E n,其中a为十进制整数,E为阶码标志,n为十进制整数作为阶码,如123E5表示123*10^5,使用指数形式时,要注意E之前必须有数字,之后的阶码必须为整数。和数学中的科学计数法不同,一个实数可以有多种指数形式,如123.789可以表示为1.23789E2或12.3789E1或0.123789E3这些都是合法的,但是只有第一种才是规范化的指数形式,程序唉输出结果时都是以该种形式输出,但是其他形式在使用是也没有任何错误。
    2.在纯C中,也可以使用后缀“F/f”来声明一个数是浮点数,如365F和365.0是等价的。
    3.实例程序
    main()
    {
    printf("%f\n",365.0);
    printf("%f\n",365);
    printf("%f\n",365F);
    }
    运行结果是
    365.000000
    0.000000
    365.000000
    第二行输出错误的原因是,由于在使用时没有加入小数点,也没有使用后缀F将其声明为浮点数,所以365不是合法实数,不被编译器认可。
    二、实型变量
    1.实型数据在内存中的存放形式:实型数据在内存中被分为符号部分,小数部分和指数部分三部分存放,例如-1.23456在内存中被分为“-”、“.123456”、“1”三个部分,一个实型数据占用4个字节的内存空间(1byte=8bits)通常,一般的C语言编译器会占用24位存放小数,8位存放指数,事实上,电脑在存取小数部分时,是以二进制形式的,而指数部分则是以2的幂指数形式存放的。
    2.实型数据的小数位数越多,代表有效数字越多,精度也就越高,而指数位数越多,器表示的数的范围就越大。
    3.实型变量的分类:实型变量可以分为三类,
   (1)单精度型:占用4字节内存空间,数值范围为3.4E-38到3.4E+38,有效数字为七位。
   (2)双精度型:占用8字节内存空间,数值范围为1.7E-308到1.7E+308,有效数字为十六位。
   (3)长双精度型:只是知道有这种数据类型,不过没有具体的数据,那位高人知道的话请补充一下。
    4.实型变量的定义格式和规则与整型数据相同,所以每一个实型数据在使用前必须先定义。
    实例:
    float m,n;        /*定义m,n为单精度实型变量*/
    double a,b,c;     /*定义a,b,c为双精度实型变量*/
    实例2:
    main()
    {
    float a;
    double b;
    a=5555.55555;
    b=5555.5555555555;
    printf("%f\n%f\n",a,b);
    }
    运行结果为5555.555664
      5555.555556
    分析:变量a被定义为float,变量b被定义为double,所以a的有效数字为七位,所以输出时5555.555之后的数字是无效的,而b的有效数字虽然为十六位,但是由于具体编译器的限制,只运算到小数点后六位,其余位数四舍五入。
    P.s编程技巧:对于实型数据,由于精度差别,大小差异极大的数值直接进行运算可能会丢失一部分数据。
相关阅读 更多 +
排行榜 更多 +
弓箭手战士酷跑

弓箭手战士酷跑

飞行射击 下载
三角洲行动全面战场攀升A点进攻指南

三角洲行动全面战场攀升A点进攻指南

飞行射击 下载
僵尸射手世界大战

僵尸射手世界大战

飞行射击 下载