Complemento a due di un esadecimale

Nepenthe
Salve, volevo sapere se esiste una procedura per fare il complemento a due di un numero rappresentato in esadecimale senza trasformarlo prima in binario. Vi ringrazio in anticipo!

Risposte
itpareid
secondo me il complemento a 2 ha senso solo in base 2

Nepenthe
In pratica devo fare la differenza di due numeri esadecimali...

35ABD77 - A459C31

Il secondo numero però è negativo. Riporta BA058A8 ma non capisco come ha fatto a riportargli così...

itpareid
hai provato con il complemento a 16?

Nepenthe
Sì ma non va bene... Riporto il testo dell'esercizio:
"Valutare la seguente somma tra interi relativi da 28 BIT, rappresentati in modulo e segno: 35ABD77 - A459C31 "

hamming_burst
come dice bene $itpareid$ il complemento a 2 vale solo in base 2.

Il complemento a 2 e il complemento a 1 è un'istanza del complemeno generalizzato:

- complemento a b
- complemento a b-1

con b = base qualunque.

Ma leggendo il testo dell'esercizo non c'è la richiesta esplicita di usare un tipo di complemento. Perciò è una semplice somma in base 16, basta che trasformi con la devisione di Ruffini da base 16 a base 10, sommi (sottrai) e ritrasformi con divisone in base 16.
se vuoi usare il complemento a 2, trasformi semplicemente la base 10 ottenuta da ruffini in base 2, fai somme, e ritrasformi in base 16. Ciao :-)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.