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次方
  • 相关阅读:
    两个泛型实例之间的属性变化
    C#
    字符编码
    如何在阿里云 CentOS 8 / RHEL 8 上安装 vsftpd(ftp 服务器)
    使用 ASP.NET Core 创建 Web API使用 JavaScript 调用报错 webapi Unable to get items. TypeError: Failed to fetch
    让WPF程序启动时以管理员身份运行(转载)
    WPF任务栏同步进度
    C# ref and out
    C# 中 string.Empty、""、null的差别
    如何读写拥有命名空间xmlns 属性的Xml文件(C#实现)
  • 原文地址:https://www.cnblogs.com/shiliye/p/13741309.html
Copyright © 2011-2022 走看看