[Teoria] Complemento a 1

floppyes
Ciao a tutti!

Ho un dubbio per quanto riguarda il complemento a 1. Se io devo eseguire un'operazione tra due numeri in complemento a 1, se il numero è positivo allora non devo fare il complemento giusto?

Ad esempio:
Si rappresentino i numeri decimali -65 e 18 in notazione binaria in complemento a uno con 8 bit. Si esegua la somma algebrica dei numeri così ottenuti e si commenti il risultato.

Soluzione
In questo caso converto il numero 65 che su 8 bit diventa: \(\displaystyle 01000001 \) poi essendo negativo lo complemento quindi diventa \(\displaystyle 10111110 \).

Ora converto il numero 18 \(\displaystyle 00010010 \) ed essendo positivo non devo fare il complemento a uno. Adesso mi basta fare la somma dei due numeri ed ottengo:
\(\displaystyle 11101111 \)

Non ho overflow perchè i resti sono uguali.

E' corretto il procedimento? :)

Grazie
Ciaoo :)

Risposte
BoG3
$10111110+$
$00010010=$
---------------
$11010000$
No?

floppyes
Ciao!

Si scusa sopra ho sbagliato a scrivere! Comunque non dovrebbe essere:

\(\displaystyle 10111110 + \)
\(\displaystyle 00011010 = \)
\(\displaystyle ----------- \)
\(\displaystyle 11011000 \)

Grazie
Ciao :)

BoG3
sei sicuro che sia in complemento a 1 e non a 2? quanto dovrebbe essere il risultato? io la butto li, magari il prof vuole che tu prenda il numero -65 e gli fai il complemento a 1 (quindi prima il complemento a 2 di 65 e poi il complemento a 1 di -65)? e che poi tu glielo faccia anche a 8

ma nn ho mai vst nulla del genere... aspettiamo che qualcuno ci dia una spiegazione migliore :)

floppyes
Ciao!

Si è in complemento a 1! Il risultato purtroppo non è scritto, però essendo in complemento a 1 vado a complementare il numero solo se è negativo, in caso di riporto aggiungo 1 al numero altrimenti niente.

In teoria dovrebbe essere così :D però vediamo se qualcuno conferma!
Ciaoo :)

hamming_burst
complemento a 1 solo se negativo, se positivo il bit di segno $0$ rappresenta la sua conversione.

floppyes
Capito! Allora il mio calcolo dovrebbe essere giusto!

Grazie mille
Ciaoo :)

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