Moltiplicazione a punto fisso con numeri negativi


8

Sono perplesso su un semplice problema. Diciamo che ho due numeri a 4 bit nel formato Q0.3. Un bit di segno e tre bit frazionari. Quindi posso rappresentare da a .10.875

Diciamo ora che desidero fare questo calcolo: . Che è:0.25×0.875

223×723

Ciò significa che sto moltiplicando ( ) per ( ). Naturalmente la risposta è o utilizzando il numero Q0.3 più vicino.11102011170.218750.25

Facciamo il lavoro.

1110×0111=01100010

che se visto come un numero Q0.6 è , che è dai miei libri. Perché questo non è corretto? Mi aspetto una risposta di ( ).1.1000100.468751.1100100.21875

Cosa ho fatto di sbagliato?

Risposte:


10

Quando si moltiplicano i numeri di complemento di due, è necessario eseguire estensioni di segno agli operandi per soddisfare il numero di cifre prodotte dalla moltiplicazione, vale a dire, nel caso cifre.4+4=8

111111102×000001112=111100102

Poiché ci sono bit frazionari, il risultato è . La normalizzazione di questo numero su bit frazionari nel formato produce .231.1100102=1426=0.2187531.1102=0.25

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.