需要协助进行八进制数字减法

时间:2019-02-23 02:04:29

标签: binary numbers octal

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

但是问题是,如果这些八进制数表示带符号的6位八进制数,则意味着111 110为负,而110 100也为负,这意味着减法运算符将以第二个八进制的负号进行抵消数,导致加成?还是我们正常地对待它,正常地减去两个二进制数,然后再看后面的符号?

1 个答案:

答案 0 :(得分:0)

您签署的陈述不重要。

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

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

您也可以直接考虑以8为底的算术运算。 076 - 064 = 012。您可以借用8。而不是借用10(如十进制)那样。请考虑012 - 003。您从012的1中借出8,并将其添加到2。00{8+2} - 003 = 007

如果076是带符号的(假定2的补码),则十进制为-2。同样,十进制064为-12。差异为-2 - (-12) = 10,八进制为012。无论有没有符号,都没有差异。

可以在算术运算后加上符号表示形式。