• C语言之数据类型②——浮点类型


    1.浮点类型的种类:

    • float——4字节
    • double——8字节
    • long double——8字节(某些平台编译器,可能是16字节)

    float x=1.23;——建议(float x=1.23F;)

    double y=1.23;

    long double z=1.23;

    2.浮点类型的存储格式

    float和double在存储方式上都是遵从IEEE编码规范的

    以8.25为例

    (1)整数部分十进制整数转二进制(除法)

      

    所有的整数一定能完整的转换成二进制

    (2)小数部分转二进制(乘法)

      

       总结:用二进制描述小数不可能完全精确,就像十进制描述1/3不能完全描述

     因此8.25转成浮点存储就是    1000.01——这个数用二进制的科学计数法表示就是   1.00001*23     指数为3,尾数为00001

      

     就是:01000001000001000000000000000000

      用计算器转为16进制就是:41040000

    反汇编查看:

      

     

    3.浮点类型的精度(整数+小数的位数)

    float和double的精度是由尾数的位数来决定的

    float:2^23=8388608,一共7位,这意味这最多能有7位有效数字;

    double:2^52=4,503,599,627,370,496,一共16位,这意味着最多能有16位有效数字

  • 相关阅读:
    [HNOI2012]矿场搭建
    舞蹈链
    POJ Apocalypse Someday
    扩展卢卡斯定理
    矩阵求逆
    RandomAccsiFile
    1.单例设计模式
    MySQL 7.多表操作
    IO流之Properties(配置文件)
    MySQL 6.子查询
  • 原文地址:https://www.cnblogs.com/codexlx/p/13394084.html
Copyright © 2020-2023  润新知