zoukankan      html  css  js  c++  java
  • 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位有效数字

  • 相关阅读:
    去除测序reads中的接头:adaptor
    Python学习_13_继承和元类
    Matplotlib初体验
    Python学习_12_方法和类定制
    python+requests接口自动化测试框架实例详解教程
    typeof与instanceof运算符
    闭包与递归函数的区别
    添加SSH
    AndroidStudio常用快捷键总结
    git新建分支
  • 原文地址:https://www.cnblogs.com/codexlx/p/13394084.html
Copyright © 2011-2022 走看看