【问题标题】:Binary Numbers : Two's Complement二进制数:二进制补码
【发布时间】:2015-06-17 18:40:34
【问题描述】:

我做了一个练习,但我不确定感谢帮助我:

11001011 8 个二进制数字。

问题:

  • 二进制补码中的表示形式是什么? 我不知道我做了这个

我反向:00110100, + 1 : 00110101

  • 在用二进制补码符号表示的情况下,它的绝对值表示是什么?

也许还是 00110101

【问题讨论】:

    标签: binary numbers


    【解决方案1】:

    在二进制补码表示中,正数简单地表示为自身,负数用其绝对值的二进制补码表示。

    在二进制补码表示中,当(且仅当)最高位被设置时,数字为负数。

    所以,如果你想得到绝对值,只有在最高位被设置的情况下,你才反转二补码运算。

    示例

    例如,使用8位,数字5表示为

    00000101
    

    最高位是0,所以它代表一个正数。要将其以二进制补码表示法转换为 -5,请将其反转并添加 1:

    ~00000101 + 1 = 11111010 + 1 = 11111011
    

    取其绝对值,检查最高位是否被设置(是),并撤消二进制补码操作,即减1并取反:

    ~(11111011 - 1) = ~11111010 = 00000101 = 5
    

    如果最高位为0,则为正数,已经是其绝对值。

    【讨论】:

    • 你能给我举个例子吗
    • 谢谢你mescalinum!