有人可以解释一下如何做到这一点吗?这不是家庭作业。
有人可以向我解释一下如何做到这一点吗?
Show that if N is chosen to be equal to 2^(m-1) where m is the number of bits
in the representation, then an Excess N representation will be the same as a 2's
Complement representation but with the sign bit inverted. Hint - transform the
summation formula for Excess-N numbers to the summation formula for 2's Comp
numbers.
首先,如何将多余N个数的求和公式转换为2的补数的公式?其次,我究竟应该如何证明这一点?
m 位,其中包含 [0..(2^m)-1] 范围内的数字——正数(无符号)。因此,要表示负数,您需要以某种方式将负数编码到这个空间中。有很多种方法可以实现这一点,术语Sign-Magnitude、Twos-complement、Ones-Complement 和Excess-N 都指的是不同的实现方式。
Excess N 表示法意味着您通过将常数 N 添加到所有数字来处理负数,这样您就只有正数需要处理。所以0值代表-N,1值代表-N+1,等等。N值代表0。
现在,我不确定您指的是哪本书,但求和公式通常指的是通过对一堆项求和来计算值的方法。在数字表示的上下文中,它通常为每个位分配一个“值”,这样设置位的值的总和就给出了编码的数字。当您对 Twos-complement 执行此操作时,您最终会得到一个公式,而当您对 Excess-N 执行此操作时,您最终会得到一个略有不同的公式,但您应该能够看到/显示以下等价性你引用的问题。
N = λ
1( - 2^(L - 1)) + SUM(从 n=2, 到 n=L)[λn(2^(L - n)] (其中 n E Z)是N 的 2 的补扩展。
此处 λn E {0, 1}(位),其中 n 在 [1, L] 中; n E Z.
L = N 中的位长度。(问题有 L = m)。N
max 因此是 SUM(从 n=2,到 n=L)[2^(L - n)]
Nmax = - 2^(L - 1)) - 1(简化形式)
所以,这个问题是不正确的,因为如果位的长度是 L,你甚至不能用 2 的补码来表示 N = 2^(L - 1)。我们可以为 N 选择一个更合适的值,比如 N = N
max。
则 λn = { 0 for n = 1; [2, L] 中的 n 为 1 }; nEZ
因此,N 的 2 补码二进制表示为 (0,1,1,...1)b,具有 L 位。
N = NE - E,其中 NE 是 N 的 Excess-N 版本,E 是 Excess。
我们知道E = 2^(L - 1)。 NE = SUM(从 n=1, 到 n=L)[αn(2^(L - n))] 是 NE 的 2 次方展开式。
因此:NE = N + 2^(L - 1)
NE = Nmax + 2^(L - 1)
NE = - (2^(L - 1)) - 1) + 2^(L - 1)
NE = SUM(从 n=2,到 n=L)[2^(L - n)] + 2^(L - 1)
NE = SUM(从 n=1,到 n=L)[2^(L - n)]
接下来,我们代入NE的展开式:
NE = SUM(从 n=1,到 n=L)[2^(L - n)]
SUM(从 n=1, 到 n=L)[αn(2^(L - n))] = SUM(从 n=1, 到 n=L)[2^(L - n)]
这意味着 [1, L] 中的 n αn = 1; nEZ
因此,N 的 Excess-N 二进制表示为 (1,1,1,...1)b,具有 L 位。
比较这些表示法,我们可以看到,简单地翻转一种表示法中的 MSB 就会产生另一种表示法。