zoukankan      html  css  js  c++  java
  • 浮点数内存如何存储的

     

    类型

    存储位数

    总位数

    偏移值
    (offset)

    数符(S)

    阶码(E)

    尾数(M)

    短实数(float)  

       1 

       8

      23

       32

    127

    长实数(double)

       1

       11

      52

       64

    1023

     

    N (10) = 123.456,

    换算成二进制表示:

    N (2) = 1111011. 01110100101111001

    = 1. 11101101110100101111001(...) * 2^6

       那么E – 127 = 6;  E = 127 + 6 = 133(10) = 10000101(2)

    M = 111 0110 1110 1001 0111 1001 (省略了最高数字位1, 23bit)

       组合起来就是:

    S          E                        M

    0        10000101      111 0110 1110 1001 0111 1001

    ================================================

       4bit一间隔:

    0100   0010   1111   0110   1110   1001   0111   1001

    4          2          F           6         E           9          7        9

    =====================================================

    数据存储方式

    ====================================================

    补充:

    十进制小数转二进制

    如:0.625=(0.101)B

    0.625*2=1.25======取出整数部分1

    0.25*2=0.5========取出整数分0

    0.5*2=1==========取出整数部分1

    再如:0.7=(0.1 0110 0110...)B

    0.7*2=1.4========取出整数部分1

    0.4*2=0.8========取出整数部分0

    0.8*2=1.6========取出整数部分1

    0.6*2=1.2========取出整数部分1

    0.2*2=0.4========取出整数部分0

    0.4*2=0.8========取出整数部分0

    0.8*2=1.6========取出整数部分1

    0.6*2=1.2========取出整数部分1

    0.2*2=0.4========取出整数部分0

  • 相关阅读:
    css中的属性
    css初识和css选择器
    前端html的简单认识
    数据库进阶了解
    数据库索引
    pymysql模块
    数据库的多表查询
    数据库中的行操作
    数据库和表操作以及完整性约束
    数据库概述
  • 原文地址:https://www.cnblogs.com/ikaka/p/3349211.html
Copyright © 2011-2022 走看看