zoukankan      html  css  js  c++  java
  • 小数在计算机中为什么会有误差?说明机器数、码制、浮点数、以及数制转换的一些问题

    1.常用的数制

    十进制  0~9

    八进制 0~7

    二进制 0~1

    十六进制 0~F

    2.十进制 转 各个进制

       方法 : 除以基数取余反向

    3. 2进制  8进制  16进制 转十进制

    二进制

    ___________________________

      2^3     2^2    2^1     2^0

       1         0          0         1         X

      =8+ 1 = 9

    八进制

    ———————————--------------

    8^1    8^0

    1          7

    =1*8 + 7*1 = 15

    十六进制类似。 

    4.二进制转 十六进制  八进制

    二转八

    三位一组   结果并在一起

    二转十六

    四位一组   结果合并在一起

    5. 整数在内存中的存储,采用二进制

                       符号位

    原码   正数      0

              负数       1

    反码   正数      和原码相同

              负数      在原码基础上,符号位不变,各个位取反

    补码   正数     和源码相同

              负数      在反码基础上,符号位不变,末位 +1

    案例↓↓↓↓↓↓

    ————————————————————————————

                       原码                 反码              补码

    5         0000  0101        0000 0101       0000 0101

    -5        1000   0101       1111  1010      1111 1011

    6. 机器数 和 真值

    用“+”、“-”号加绝对值来表示数值的大小,用这种形式表示的数值在计算机中称为“真值”

    符号数码化后,二进制数的最高位“0”表示正号,“1”表示负号,用这种形式表示的数值在计算机中称为“机器数”

    机器数中小数点隐含不占位

    机器数       有符号            纯整数   点在最低位之后

                                            纯小数   点在符号位之后,最高位之前。  

                     无符号            纯整数    点在最低位之后

                                            纯小数    点在最高位之前

    7.小数的存储 

       计算机中小数以二进制(浮点数)形式存储。

       首先是一个十进制小数形式,转化成二进制的计算案例。

    ————————————————————————————————

    0.8125 转换成二进制

      其实这种情况是赶巧了得到一个确切的值。

    ————————————————————————————————

    但对于某些特殊情况是这样的

    8.浮点数产生误差的原因

      有两钟情况,会产生误差

       1)以二进制保存浮点数,所以一些原本有限位的小数,按照上面方法运算以后,可能变成一个无限循环的小数。

    ————————————————————————————————

       (十进制)0.9转成2进制是无限循环小数0.1110011001100110011...

    ————————————————————————————————

    2)计算机保存浮点数的精度有限,例如float可以保留十进制最多7位(二进制23位)有效数字,double 可以保留十进制15~16位(二进制52位)有效数字。那有效数字以后的就被忽略了。

  • 相关阅读:
    HBase入门,看这一篇就够了
    【从零开始学CenterNet】6. CenterNet之loss计算代码解析
    cobbler使用DTK自动化做RAID
    linux批量免密登陆
    《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(下)
    《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(中)
    Python基础-v1
    js实现二维数组转置
    冰蝎3.0 流量特征分析 附特征
    关于 PDF相关整改建议的pdf后门事件分析
  • 原文地址:https://www.cnblogs.com/mcad/p/4187559.html
Copyright © 2011-2022 走看看