我一直试图弄清楚两个数字是否会得到相同的9的补码值。 我从文本中找到了(r-1)补码的一般方程:(r ^ n) - (r ^ -m) - N 其中r =基数或基数; n =整数部分中的数字; m =不。小数部分中的数字和N =给定值..
但是当我应用这个eqn来找到两个数字的9的补码:0.473和9.473然后我得到两个相同的结果,即0.526 即(10 ^ 0) - (10 ^ -3) - 0.473 = 0.526;和 (10 ^ 1) - (10 ^ -3) - 9.473 = 0.526
是否有另一个解决方案,因为这两个数字不能产生相同的结果(它不应该是错误的).. ??
答案 0 :(得分:0)
公式中的n
和m
值不"整数部分中没有数字"和#34;没有。小数部分中的数字"在特定的N
值中。这些n
和m
是一些数字,应该为您的所有工作选择一次补码并且不会更改,并且对您可以使用的数字设置限制:在您选择一些{{1 }}和n
,您只能使用整数部分中最多m
个数字且小数部分中最多n
个数字的数字。
因此,对于您的示例,如果选择m
,则无法处理9.473。为了能够处理0.473和9.473,您应该选择n=0
和n=1
,并获得0.526和9.526作为结果。