移码

作者: 良辰夜 | 来源:发表于2019-11-06 18:26 被阅读0次

    转载需首行注明原地址

    本章参考 车向泉老师的公开课《计算机系统中的数据表示》

    理解移码的思想,从创建者角度考虑如何创建移码。

    目录

    1. 移码从何而来
    2. 如何设计移码
    3. 移码的性质
    4. 移码和补码的关系

    1. 移码从何而来

    知识点:

    • 大家知道浮点数的组成是:符号位+阶码+尾数。
    • 比较整数的方式:从高位到低位,逐位比较。
    • 负数的原码,补码,反码的机器数都比正数大。

    要知道

    • 在cpu内,电路越简单越好。
    • 而浮点数的运算经常有比较接码大小这种操作。
    • 阶码只有整数,而通常定点整数的比较方式:数值位就是从左往右逐位比较。然而,无论阶码采用补码、原码都不行,因为无论补码还是原码,负数机器码都比正数大。
    • 为了复用电路,采取比较定点数的方式来比较解码,于是设计了一种编码,真值和机器码是正比关系,由此引出了移码

    2. 如何设计移码

    要真值和机器时正比,很简单,高中数学告诉我们,平移就好了。
    那平移多少呢?
    先看三个位能表示的真值:

    111 、110、101、100、011、010、001、000
    

    我们在这些数中找到中间值作为0,如100。
    可以类推为 2^(n-1),或首位为1其他位为0的机器数 作为数字0.

    111 => 3
    110 => 2
    101 => 1
    100 => 0
    011 => -1
    010 => -2
    001 => -3
    000 => -4
    

    那么n位定点整数,可知:x移 = x+2^(n-1) (-2^(n-1) <= x < 2^(n-1))
    由于 阶码不可能是小数,所以移码也不考虑小数。

    3.移码的性质

    • 0是唯一的。
    • 符号位 1表示正,0表示负。
    • x表示范围:(-2^(n-1) <= x < 2^(n-1)
    • 移码和真值呈线性正比关系。

    4.移码和补码的关系

    2^(n-1)就是符号位,也就是说,移码等于补码符号位取反,同理,补码符号位取反就等于移码

    相关文章

      网友评论

          本文标题:移码

          本文链接:https://www.haomeiwen.com/subject/coeebctx.html