zoukankan      html  css  js  c++  java
  • 定点与浮点表示

    日常生活中所使用的数有整数和实数之分,整数的小数点固定在数的最右边,可以省略不写,而实数的小数点则不固定。在计算机中只能识别和表示“0”和“1”",而无法识别小数点,因此,要使得计算机能够处理日常使用的数值数据,必须要解决小数点的表示问题。

    通常计算机中通过约定小数点的位置来实现。

    小数点位置约定在固定位置的数称为定点数,小数点位置约定为可浮动的数称为浮点数

    1.定点表示

     2.浮点表示

     定点数的编码表示

    定/浮点表示解决了小数点的表示问题。但是,对于一个数值数据来说,还有一个正/负号的表示问题。

    计算机中只能识别和表示0和1。因此,正/负号也要用0和1来表示。

    这种将数的符号用0、1表示的处理方式称为符号数字化。一般规定0表示正号,1表示负号。

    数字化了的符号能否和数值部分一起参加运算呢?

    为了解决这个问题,就产生了把符号位和数值部分一起进行编码的各种方法。因为任意一个浮点数都可以用一个定点小数和一个定点整数来表示,所以,只需要考虑定点数的编码表示。

    主要有4种定点数编码表示方法:原码、补码、反码和移码。

    通常将数值数据在计算机,内部编码表示的数称为机器数,而机器数真正的值(即现实世界中带有正负号的数)称为机器数的真值

     1.源码的表示

    原码表示的优点是与真值的对应关系直观、方便,因此与真值的转换简单,并且用原码
    实现乘除运算比较简便。其缺点是0的表示不唯一,给使用带来不便。更重要的是,原码加
    减运算规则复杂,在进行原码加减运算过程中,要判定是否是两个异号数相加或两个同号数
    相减,若是,则必须判定两个数的绝对值大小,根据判断结果决定结果符号,并用绝对值大的
    数减去绝对值小的数。现代计算机中不用原码来表示整数,只用定点原码小数来表示浮点
    数的尾数部分。

    2.补码表示法

     1)模运算

     2)补码的定义

     3)特殊数据的补码表示

     4)补码与真值之间的转换方法

     5)变形补码

     

     

     3.反码的表示

     4.移码表示

  • 相关阅读:
    【python】PyQt5 QAction 添加点击事件
    【环境搭建】安装pyQt5 在pycharm报This application failed to start because no Qt platform plugin could be initialized的问题
    【嵌入式】arduino IDE串口监视器可以正常使用但其他软件发送串口指令没有反应的问题
    【操作系统】bat文件 系统找不到文件路径
    十天冲刺:第二天
    十天冲刺:第一天
    项目需求分析NABCD电梯演讲
    项目需求分析与建议-NABCD模型
    团队开发之团队介绍
    会议1.7
  • 原文地址:https://www.cnblogs.com/wlyperfect/p/12526133.html
Copyright © 2011-2022 走看看