og den forklarer også hvorfor vi skal negere først ved subtraktion. den den negereing kan nemlig selv give overflow:
negate ( 1000 ) = invert ( 1000 ) +0001 = 0111 +0001 = 1000 hvor der er carry ind i sign. men ikke carry ud af sign.
men i praksis (i en adder) kan vi så lave den negering samtidig med additionen
010101 - 101010 = 010101 + 010101 +carryIN = 101011 hvir der er carry til signbit, men ikke udaf den, så det gav overflow.
Fidusen er at med den regel kan vi lave det hele med en adder i hardware. Vi skal blot lave en xor kreds der beregner carry_til_sign XOR carry_udaf_sign i den høje ende af de tal der lægges sammen Og en kreds i den lave ende der genererer en carry-in i den lave ende når det er subtraktion. (og så skal det tal der trækkes fra invertere, men det er nemt)
Øh.... ved 2 komplement betyder carry intet. Det er kun fortegn på operander og resultat der betyder noget.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.