zoukankan      html  css  js  c++  java
  • float和double的存储结构

    高位<==低位(例32<==0)
    类型 符号位  指数位   尾数位 大小 
    float  1    8  23  32bit
    double  1  11  52 64bit 

    单精度例1:

    float b = 2.25;

    b的二进制表示:10.01

    b的二进制科学计数法表示:1.001*2^1

    符号位:0(1位) 指数位:1+127=128 (8位) 尾数位:001(23位)
    0  1000 0000     001 0000 0000 0000 0000 0000

    双精度例1:

    double c = 2.25;

    b的二进制表示:10.01

    b的二进制科学计数法表示:1.001*2^1

    符号位:0(1位) 指数位:1+1023=1024(11位) 尾数位:001(52位) 
    0           100 0000 0000                    0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

    (111.01)= 7.4


    计算机中的十进制小数用二进制通常是用乘二取整法来获得的

    比如0.65换算成二进制就是:

    0.65 × 2 = 1.3 取1,留下0.3继续乘二取整

    0.3 × 2 = 0.6 取0, 留下0.6继续乘二取整

    0.6 × 2 = 1.2 取1,留下0.2继续乘二取整

    0.2 × 2 = 0.4 取0, 留下0.4继续乘二取整

    0.4 × 2 = 0.8 取0, 留下0.8继续乘二取整

    0.8 × 2 = 1.6 取1, 留下0.6继续乘二取整

    0.6 × 2 = 1.2 取1,留下0.2继续乘二取整

    .......

    所以就是:0.1010 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110 0110

    进制转换器网页:https://www.sojson.com/hexconvert.html

  • 相关阅读:
    JS兼容性总结
    [妙味DOM]第五课:事件深入应用
    关于iOS开发的学习
    世界经典——乔布斯
    梦想改变世界
    乔布斯在斯坦福大学的演讲
    10步让你成为更优秀的程序员
    程序员的八个级别
    程序员的学习和积累
    哈佛大学二十条训言
  • 原文地址:https://www.cnblogs.com/still-smile/p/13362215.html
Copyright © 2011-2022 走看看