Muhtemelen bu soruya benden daha fazla zaman geçirdim, ama işte bulgularım.
Negatif sayılar için "saf" paralel önek toplayıcı örneği bulamıyorum. Bunun açık bir sorun olduğunu düşünüyorum , çünkü bunun mümkün olmadığına dair bir kanıt görmedim .
Size en yakın iki aşamalı negatif negatif bir ekleme (literatürde genellikle kısaltılmış nnba) kullanmaktır. Aşağıdaki mülke dayanmaktadır:
Let ve g ( x ) = x n - 1 ¯ x n - 2 . . . x 1 ¯ x 0 . Bunlar temel olarak sırasıyla ve ile bir XOR işlemidir . Daha sonra bunu kanıtlayabilirsinizf( x ) = xn - 1¯¯¯¯¯¯¯¯¯¯xn - 2. . . x1¯¯¯¯¯x0g( x ) = xn - 1xn - 2¯¯¯¯¯¯¯¯¯¯. . . x1x0¯¯¯¯¯0xAA...AA0x55...55
- ( a +n bb ) = g( f( a ) + f( b ) + 1 )
+n b+
Negatif toplam daha sonra aynı özellik kullanılarak ancak sıfır işlenen kullanılarak ters çevrilebilir:
- x = g( f( x ) + f( 0 ) + 1 )
Paralel önek toplayıcıları kullanarak toplamı bulmak için şunları yapabilirsiniz:
- f( a )f( b )
- + 1s1
- s1f( g( s1) )
0xAA...AB= f( 0 ) + 1s2
- g( s2)
Aslında bir "saf" paralel önek toplayıcı bulmaya çalıştım, ama üzerinde harcamak istediğim zaman için çok karmaşık olduğunu düşündüm. İşte nedeni:
{ 0 , 1 }n× { 0 , 1 }n→ { 0 , 1 }na ∘ b = a ⋅ b¯
( a ∘ b ) ∘ ca ∘ ( b ∘ c )= a ⋅ b¯⋅ c¯= a ⋅ b ⋅ c¯¯¯¯¯¯¯¯¯¯
c+benc-ben¯¯¯¯¯c-benc+ben¯¯¯¯¯