Mnożenie 2 podpisanym numery => 2 podpisania bity?

O

omara007

Guest
Hi folks

If
I'm pomnożenie 2 podpisanym numery powiedzieć każdy reprezentowany jest jako 16-bit 2
na uzupełnienie binarnego wektora.Czy 32-bitowe wyniku podpisania bity zawierają 2 lub 1?

 
Nowe rozwiązanie F-Secure w prosty sposób sprawdza, czy użytkownicy łączą się z właściwymi serwisami online.

Read more...
 
W 32-bitowy wynik musi zawierać znak 1 bit.
Poszukaj następujące Atmel stosowania uwaga:
AVR201: Używanie AVR Sprzęt mnożnikowego
Myślę, że ta uwaga może pomóc.

 
svicent napisał:

W 32-bitowy wynik musi zawierać znak 1 bit.

Poszukaj następujące Atmel stosowania uwaga:

AVR201: Używanie AVR Sprzęt mnożnikowego

Myślę, że ta uwaga może pomóc.
 
Tak, produkt z największych liczb ujemnych,
np. -128 *- 128 (0x80 * 0x80) w przypadku podpisane 8 * 8.

PS: Ściśle mówił, 2
na uzupełnienie numery nie mają podpisać bitowych, więc również one nie mogą być dwa.Rozumiem, że
jesteś zastanawiasz się, czy 16 * 16 podpisany pomnożyć wynik zbędny bitów.Jak widać z mojego przykładu, to nie.Ale to jest prawie.Jeśli wdrożenie nasycenia logiką, można zastąpić 0x80 * 0x80 = 0x4000 przez 0x3FFF.Następnie możesz pominąć jedną "znak" bit odpowiednio wykonać arytmetyczne przesunięcie w lewo o wyniku.W ten sposób można uzyskać prawidłowy skalowane Ułamkowa podpisana rozmnażajcie się, jak to opisano w powyższym wniosku Atmel notatkę.

 
Odpowiedź ta jest do poinformowania rady / forum, że mój problem został rozwiązany i temat / wątek może zostać zamknięty.

Skuteczna jest jeden przypadek, w którym mnożenia 2 podpisanym numery (tej samej wielkości) nie spowoduje 2 podpisania bitów.Ta sprawa jest po pomnożyć największych liczb ujemnych (które mogą być wyrażone w danej liczby bitów).Inny niż tym przypadku, nie zawsze są znakiem 2 bity w wyniku.

 

Welcome to EDABoard.com

Sponsor

Back
Top