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

  • 相关阅读:
    POST GET原理函数
    位宽与带宽
    编程小工具
    C#的四个基本技巧
    关闭弹出模态窗口以后刷新父窗口
    十年技术,不要再迷茫
    冒泡排序
    单元测试工具及资源推荐
    xml xhtml html dhtml的区别
    删除List<string>中重复的值
  • 原文地址:https://www.cnblogs.com/still-smile/p/13362215.html
Copyright © 2011-2022 走看看