まずX, Yを2進数で求めると次のようになります。
j | y2j+1 | y2j | y2j-1 | Yj | Zj |
0 | 0 | 1 | 0 | 1 | X・20 |
1 | 1 | 0 | 0 | -2 | -2X・22 |
2 | 0 | 1 | 1 | 2 | 2X・24 |
Z0 = 11111110111 (11桁にあわせる) Z1 = -2・ 11011100 = 00001001000 (11桁にあわせる) Z2 = 2・1101110000 = 11011100000 ---------------------------------- 11100011111この求められた結果は、2進数で2の補数の00011100001 = 225の 負の数=-225ですから、たしかに-9×25 = -225となっていることが わかります。
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 |