机器数及特点

举报
ruochen 发表于 2021/03/29 01:17:41 2021/03/29
【摘要】 机器数及特点<1> 为什么要研究机器内的数据表示<2> 机器内的数据表示<3> 常见机器数的特点1. 原码2. 反码3. 补码4. 移码(增码) 机器数及特点 <1> 为什么要研究机器内的数据表示 目的:组织数据,方便计算机硬件直接使用要考虑的因素 支持的数据类型能表示的数据范围能表示的数据精度存储和处理的代价是否有利于软件的移植… ...

机器数及特点

<1> 为什么要研究机器内的数据表示

  • 目的:组织数据,方便计算机硬件直接使用
  • 要考虑的因素
    • 支持的数据类型
    • 能表示的数据范围
    • 能表示的数据精度
    • 存储和处理的代价
    • 是否有利于软件的移植

<2> 机器内的数据表示

  • 真值:符号用 “+”、 “-” 表示的数据表示方法
  • 机器数:符号数值化的数据表示方法,用0、1表示符号
  • 三种常见的机器数:设定点数的形式为X0X1X2X3 … Xn

例 求下列各数的原码、补码和反码

  1. X = +1011
    [X] = [X] = [X] = 01011
  2. X = -1011
    [X] = 11011    [X] = 10100    [X] = 10101
  3. 0的表示
    [+0] = 00000    [-0] = 10000
    [+0] = 000000    [-0] = 11111
    [+0] = 00000 = [-0]

<3> 常见机器数的特点

1. 原码

  • 表示简单:[X] = 2n - X
  • 运算复杂:符号位不参加运算,要设置加法、减法器

[X] + [Y]
(不能直接判定是执行加法还是减法运算,分同号和异号)

  • 0的表示不唯一

2. 反码

  • 表示相对原码复杂;[X] = 2n+1 + X - 1
  • 运算相对原码简单,符号位参加运算,只需要设置加法器,但符号位的进位需要加到最低位
  • 0的表示不唯一

反码运算举例

3. 补码

  • 表示相对原码复杂:[X] = 2n+1 + X
  • 运算简单:只需设置加法器
  • 0表示唯一

补码中模的概念:符号位进位后后所在位的权值

4. 移码(增码)

  • 移码表示浮点数的阶码,IEEE754中阶码用移码表示
  • 设定点整数X的移码形式为 X0X1X2X3 … Xn,则移码的定义是:
    [X] = 2n + X     -2n < X < 2n    (X为真值,n为X的整数位位数)
  • 具体实现:数值位与X的补码相同,符号位与补码相反

例 X = +10101     [X] = 010101    [X] = 110101
     X = -10101     [X] = 101011    [X] = 001011

01011    [X] = 001011

注: 在机器数上,我们一定不能够说"0" 是表示整数的符号,“1” 是表示复数的符号

文章来源: ruochen.blog.csdn.net,作者:若尘,版权归原作者所有,如需转载,请联系作者。

原文链接:ruochen.blog.csdn.net/article/details/104522366

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。