因此,如果八进制数为6位,我试图理解无符号和有符号八进制数减法之间的区别。例如,八进制76 - 八进制64:我首先将76转换为二进制,其变为111 110和64变为二进制,变为110和100:
但问题是,如果这些八进制数表示带符号的6位八进制数,则表示111 110为负,110 100也为负,这意味着减法运算符将取消第二个八进制数的负号,结果另外一个?或者我们只是正常对待它,通常减去2个二进制数,然后看看之后的符号?
您签署的代表无所谓。
以十进制-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.没有差异,无论是否签名。
可以在算术之后施加符号表示。