计算机组成部分---9定点数的编码表示+++各种码的作用(拓展)

定点数的编码表示

定点数:小数点的位置固定      Eg:996.007 ——常规计数

浮点数:小数点的位置不固定      Eg:9.96007*102 ——科学计数法

无符号数

  • 定义:整个机器字长的全部二进制位表示数值,无符号位, 相当于数的绝对值。

有符号数的定点表示

  1. 符号位:最高位为符号位(0 正 1 负),数值部分称尾数。
  2. 原码:
    • 表示:符号位(0/1表正负) + 尾数绝对值。(定点小数)若机器字长为n+1位,则尾数占n位
    • 范围:

若机器字长n+1位,原码整数的表示范围:

−(2^(n−1)) ≤ x ≤ 2^(n−1)(关于原点对称)

若机器字长n+1位,原码小数的表示范围:

−(1−2^−n) ≤ x ≤ 1−2^(−n)(关于原点对称)

  1. 反码:
    • 表示:

若符号位为0,则反码与原码相同

若符号位为1,则数值位全部取反

    • 范围:与原码相同,0 有 + 0 和 - 0 两种表示。

若机器字长n+1位,反码整数的表示范围:

−(2^(n−1)) ≤ x ≤ 2^( n−1)(关于原点对称)

若机器字长n+1位,反码小数的表示范围:

−(1−2^(−n)) ≤ x ≤ 1−2^(−n)(关于原点对称)

  1. 补码:
    • 表示:正数同原码,负数 = 反码 + 1.
    • 将负数补码转回原码的方法相同:尾数取反,末位+1
    • 范围:

定点整数补码 [x]补 = 1,0000000 表示 x = -2^(7)

若机器字长n+1位,补码整数的表示范围:

−2^n ≤ x ≤ 2^(n-1)比原码多表示一个 −2n )

定点小数补码 [x]补 = 1.0000000 表示 x = -1

若机器字长n+1位,补码小数的表示范围:

−1 ≤ x ≤ 1−2^(−n) (比原码多表示一个 −1 )

  1. 移码:
    • 表示:补码符号位取反,仅用于整数。
    • 范围:

与补码相同,移码大小直接反映真值大小(全 0 最小,全 1 最大)。

若机器字长n+1位,移码整数的表示范围:

−2^n ≤ x ≤ 2^(n−1) (与补码相同)

对比总结

编码

符号位

0 的表示

整数范围(n 位)

小数范围(n 位)

原码

0/1

+0/-0

(-(2^{n-1}-1) ---2^{n-1}-1)

(-(1-2^{-n}) --- 1-2^{-n})

反码

0/1

+0/-0

同原码

同原码

补码

0/1

唯一

(-2^{n-1} --- 2^{n-1}-1)

 (-1 --- 1-2^{-n})

移码

取反补码

唯一

同补码

不用于小数

问题:

定点整数 x=50,用8位原码、反码、补码、移码表示。

定点整数 x=-100,用8位原码、反码、补码、移码表示。

技巧:由[x]补 快速求 [-x]补 的方法

符号位、数值位全部取反,末位+1

各种码的作用(拓展)

  1. 补码的核心作用:将减法转换为加法,简化硬件设计。
    • 例:(10-3 = 10 + (-3) {补码} = (10 + 9)模{ 12 } = 19 mod 12=7(模运算思想)。
    • 计算机中通过补码实现减法,ALU 仅需加法器,符号位参与运算。
  2. 移码的作用:便于整数大小比较,移码递增对应真值递增

(如移码 00000000 对应 - 128,11111111 对应 + 127)。

以上内容覆盖进制转换、BCD 码、定点数编码及补码 / 移码的应用,可帮助理解计算机数据表示与运算原理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值