zoukankan      html  css  js  c++  java
  • 实型(浮点型)

    作用:实型, 即浮点型,用于表示小数

    浮点型变量分为以下两种:
      单精度(float)
      双精度(double)

      两者区别在于表示的有效数字范围不同, 比如:数字3.14, 它的有效数字为3,1,4, 即有效数字是3位

    数据类型 占用空间 有效数字范围
    flat 4字节 7位有效数字
    double 8字节 15~16位有效数字

    单精度(float)

    //定义float类型变量时,数值结尾处要追加一个字母f(f即float的第一个字母)
    //如果没有f,则编译器默认该数字为double类型,用8个字节空间来存放数字,然后将double转成float,这样精度可能会有损失
    //如果有f,则编译器会用4个字节空间来存放数字,强制表示为float
    float f1 = 3.14f; //f1为float类型
    float f2 = 3.14; //3.14被默认为是double类型,并最后强制转换为float类型
    sizeof(f1);  //返回4
    sizeof(f2);  //返回4, 存储空间不会因为小数后面没有f而变成8,存储空间只跟类型有关

    为什么定义float类型变量,数字后面要追加f
      不加f,数字会被默认为double类型,从double类型转成float类型是高精度转换为低精度,因此会出警告
      当数值较小时,是没有问题的,不会出现数据丢失的情况
      当数值较大时,由于是高精度转向低精度,就可能会出现数据丢失的情况

    双精度(double)

    //定义double类型变量时,数值结尾处无需额外追加字母,当小数结尾没有任何字母,则编译器默认其为double类型
    double d1 = 3.14;  //不需要额外加d
    sizeof(d1); //返回8

    默认显示小数位数

      float和double在默认情况下,都只显示6位有效数字

    float f3 = 3.1415926f; //只返回3.14159,只显示6位
    double d1 = 3.1415926; //只返回3.14159,只显示6位

    科学计数法

    float f1 = 3e2; // 返回300,即3乘以10的2次方
    float f2 = 3e-2;  //返回0.03,即3乘以0.1的2次方
  • 相关阅读:
    Arthur J.Riel的61条面向对象设计的经验原则[ZT]
    06年的CS Sub,挺像考研考纲的。。平时学习的时候,可以参考一下~
    Interop时候.Net和Win32对应数据类型
    Asp.Net使用POST方法最简单的实现
    在MasterPage中实现本地化
    最近MS比较High。。。
    语无伦次一下~
    初试Mono~ Virtual Server 果然强大~
    电竟3周年了,纪念一下。。
    又见了点市面~
  • 原文地址:https://www.cnblogs.com/shiliye/p/13741309.html
Copyright © 2011-2022 走看看