y(2j+1) y(2j) y(2j-1) Y(j) | Q1 Q2 QN ---------------------------+--------- 0 0 0 0 | 0 0 0 0 0 1 1 | 1 0 0 0 1 0 1 | 1 0 0 0 1 1 2 | 0 1 0 1 0 0 -2 | 0 1 1 1 0 1 -1 | 1 0 1 1 1 0 -1 | 1 0 1 1 1 1 0 | 0 0 0これから、次のような論理式が導かれるでしょう。
まずANjは符号ですから、QN=0のときにはZjの符号はXの符号と同じであり、 逆にQN=1のときにはYjが負となるためにXの符号を反転させる必要があります。
同様に、Q1=1のときにはXを2jビットシフトさせるのですが、 このZjの式には、2jビットシフトさせる22jがすでにありますから、 j桁目、つまりAijは、Xのj桁目xjと同じになります。 しかしQ2=1のときには、Xを(2j+1)ビットシフトさせる必要があるので、 結果としてj桁目のAijは、Xの(j-1)桁目xj-1と同じになります。
さらにQN=1のとには、Aijを求めるのに 2の補数をとらなければなりませんから、Aijを反転させ(1の補数)、 全体に1を加える必要があります。
以上から、Q1, Q2, QNとANj, Aij, Cjは 次のような関係になるでしょう。
Q1 | Q2 | QN | ANj | Aij | Cj |
0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | xN-1 | xi | 0 |
0 | 1 | 0 | xN-1 | xi-1 | 0 |
0 | 1 | 1 | /xN-1 | /xi-1 | 1 |
1 | 0 | 1 | /xN-1 | /xi | 1 |
Z | = | Σj=02(-1・A6j・26 + Σi=05Aij2i + Cj)22j |
= | Σj=02{ Σj=05Aij2i + Cj}・22j - { A6224 + A6122 + A6020}・26 | |
= | Σj=02{ Σj=05Aij2i + Cj}・22j + { /A6224 + 1・23 + /A6122 + 1・21 + /A6020 + 1・20 } ・26 | |
(※2の補数をとるために、各ケタごとに反転していることに注意) | ||
= | Σj=02{ A5j25 + A4j24 + A3j23 + A2j22 + A1j21 + A0j20 + Cj}・22j + Σj=02{ /A6j22j・26 } + 25・22・2 + (25 + 24) 22・1 |