需要有关八进制数减法的帮助

问题描述 投票:1回答:1

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

但问题是,如果这些八进制数表示带符号的6位八进制数,则表示111 110为负,110 100也为负,这意味着减法运算符将取消第二个八进制数的负号,结果另外一个?或者我们只是正常对待它,通常减去2个二进制数,然后看看之后的符号?

binary numbers octal
1个回答
0
投票

您签署的代表无所谓。

以十进制-1为例,其中6位八进制为077(表示八进制,前缀为0,假设为2的补码表示)。

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

您也可以直接考虑base 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.没有差异,无论是否签名。

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

© www.soinside.com 2019 - 2024. All rights reserved.