【问题标题】:Need assistance with Octal number subtraction在八进制数减法方面需要帮助
【发布时间】:2019-07-17 03:57:27
【问题描述】:

因此,如果八进制数为 6 位,我试图了解无符号八进制数减法和有符号八进制数减法之间的区别。例如,八进制 76 - 八进制 64: 我首先将 76 转换为二进制 111 110 和 64 转换为二进制 110 和 100:

但问题是,如果这些八进制数表示有符号的 6 位八进制数,是否意味着 111 110 为负数,而 110 100 也是负数,这意味着减法运算符将取消第二个八进制数的负号数,导致加法?还是我们只是正常对待,正常减去2个二进制数,然后看后面的符号?

【问题讨论】:

    标签: binary numbers octal


    【解决方案1】:

    您的签名表示无关紧要。

    以十进制 -1 为例,它在 6 位八进制中为 077(表示带有 0 前缀的八进制,假定为 2 的补码表示)。

    然后 077 - 077 = 000 ,正如预期的那样。在二进制中,十进制 -1 是111 111。但是 -(-1) 是 1,即八进制 001。077 - 077 = 077 + 001 = 000,溢出被截断。

    您也可以直接考虑以 8 为基数的算术。 076 - 064 = 012。不是借用十进制的 10,而是借用 8。考虑012 - 003。你从 012 的 1 中借用 8 并将其添加到 2。00{8+2} - 003 = 007

    如果 076 是有符号的(假设 2 的补码),那么在十进制中,它是 -2。同样,十进制的 064 是 -12。区别是-2 - (-12) = 10,八进制是012。没有区别,不管有没有签名。

    符号表示可以在算术之后施加。

    【讨论】:

    • 啊,明白了。谢谢。
    猜你喜欢
    • 2011-01-27
    • 2014-02-06
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多