Newsgroup: it.scienza.informatica
Titolo: complemento 1/2

chi mi saprebbe dire come si calcola il complemento a 1 e a 2 di un
numero binario (negativo) e quali sono le differenze?
-------------------
Aranar

 numero binario (negativo) e quali sono le differenze?
Complemento a 1:
prendi il numero (valore assoluto), lo scrivi in binario, poi inverti tutte
le cifre (gli 1 diventano 0 e viceversa)
in pratica, applichi il NOT a tutti i bit del numero in valore assoluto
Complemento a 2:
come il complemento a 1, solo che poi sommi 1 (usando le usuali regole per
la somma binaria) al risultato
(ci sono probabilmente anche metodi più furbi)
Differenze:
- con il complemento a 1, hai 2 rappresentazioni per lo zero: quella con
tutti zero (zero positivo) e quella con tutti 1 (zero negativo)
- con il complemento a 2, non hai la simmetria tra numeri positivi e
negativi (ad esempio, con 8 bit, vai da +127 a -128)
- con il complemento a 2, puoi calcolare la somma di 2 numeri qualsiasi
(positivi e negativi) senza preoccuparti del segno. La differenza tra 2
numeri diventa una somma con il sottraendo complementato
Ciao
--
Alessandro Monti

numero binario (negativo) e quali sono le differenze?
spero di non sbagliarmi.
Allora il complemento a 1 di un numero binario si calcola scambiando gli 1
in 0 e gli 0 in 1.
Ad esempio:
10110011
diventa
01001100
mentre per calcolare il complemento a 2, bisogna aggiungere 1 al complemento
a 1 sopra calcolato.
Quindi se hai il numero
10110011 e vuoi calcolare il complemento a 2, calcoli prima il complemento a
1 e poi gli sommi 1.
Quindi:
01001100 è il complemento a 1
mentre
01001100 +
                1 =
--------------
01001101 è il complemento a 2
Ora supponiamo di calcolare il complemento a 2 e a 1 di - 5 avremo:
5 = 101  ( uso solo 3 bit )
ora per calcolare - 5 dobbiamo fare prima il complemento a 1 e poi il
complemento a 2, quindi:
complemento a 1 di 5 è: 1010 ( qui e sotto ne servono 4 )
mentre il complemento a 2 è: 1011
nota che il primo bit è il bit di segno che vale 1 quando il numero è
negativo e 0 quando è positivo.
Quindi se ti chiedono di calcolare il complemento a 2 di - 5 con soli 3 bit,
credo proprio che devi scrivere:
"overflow".
Ok ?
Ovviamente se vedi una sequenza binaria, per sapere se si tratta di un
numero negativo o positivo non basta vedere il primo bit, ma bisogna sapere
che rappresentazione è stata usata. Se si sa che il primo bit è il bit di
segno, allora i successivi identificano il numero mentre il primo il segno.
Inoltre ci sono i numeri reali che usano un'altra rappresentazione, ma per
ora cerca di capire gli interi !!
P.S. Se qualcuno legge il messaggio e c'è qualcosa di errato, possiamo
parlarne visto che questa roba non
         è che mi capita sotto mano tutti i giorni, anzi.....non mi ci
capita mai !! hehe
Ciaooo !!!
Antonio Tarolla

 Aranar


a partire dal bit meno significativo, si lasciano inalterati tutti i primi
bit a zero che si incontrano,
incluso il primo bit a 1; da qui in avanti, si complementano; esempio:
determinare il cpl a 2 di 01101000
"lascio inalterati i primi tre zeri ed il primo uno, quindi inverto:
10011000"
Ciao,
Gianfranco

10011000"
mmhh, sicuro?
-------------------
Aranar

 wrote in message
news:3936af2d...@news.nettuno.it...

e' lo stesso effetto del complementare e sommare uno.
Una regoletta mnemonica che usavamo in laboratorio di elettronica
per evitare di dover eseguire la somma binaria...
Ciao,
Gianfranco

 Aranar
per fare il complemento a 2 di un numero binario negativo devi fare l'
operazione inversa che fai da un numero positivo a uno negativo: devi prima
sottrarre uno (tenendo conto che 6 in sistema binario) e poi fare il
complemento  (cioč scambiare gli 1 con gli 0 e viceversa) del numero
ottenuto.   bye-bye