Estratto del documento

Complemento a due

Il complemento a due è una delle possibili rappresentazioni dei numeri con segno in informatica (è la rappresentazione maggiormente utilizzata nei calcolatori). A differenza, ad esempio, della rappresentazione MS (Modulo e Segno) che permette di rappresentare numeri compresi nell'intervallo (-2n-1, 2n-1). Nella rappresentazione con complemento a due, invece, è possibile rappresentare numeri nell'intervallo [-2n-1, 2n-1 + 1].

n=4 (bit): (-2n-1, 2n-1) = (-8, 8) Estremi NON compresi →
[-2n-1, 2n-1 + 1] = [-8, 7] Estremi compresi →

Questa differenza è dovuta al fatto che nella rappresentazione MS, esistono due zeri: Quello positivo (ovvero tutti i bit pari a 0 compreso quello del segno) e quello negativo (tutti i bit a 0 tranne quello del segno pari a 1). Al contrario, nella rappresentazione tramite complemento a due esiste un solo 0.

Metodi per la rappresentazione con complemento a due

Per poter effettuare la rappresentazione con complemento a due si può procedere in due possibili modi:

  • Metodo 1: Utilizzare la formula (2n - |N|)
    Questo metodo è effettuabile solamente se si intende ottenere immediatamente un numero negativo rappresentato in base 2 complemento a due. Infatti, per ottenere attraverso questo metodo il numero opposto (positivo), bisognerà invertire tutti i bit e sommare un 1.
  • Metodo 2: Procedere con il metodo delle divisioni ripetute per ottenere il numero in rappresentazione in base 2 complemento a due
    • Considerare il modulo del numero dato
    • Effettuare il metodo delle divisioni ripetute per trovare il numero dato convertito in rappresentazione binaria
    • Aggiungere uno 0 davanti al numero binario appena ottenuto
    • Opzionale: Nel caso in cui si voglia rappresentare un numero negativo occorre anche andare ad invertire i bit e sommarvi un bit pari a 1

Esempi pratici

1) N = -29

  • Calcolo: n = ⌈Log2 (30)⌉ + 1 = ⌈4,1⌉ + 1 = 6
    (2n - |N|) = (26 – 29) = 64 – 29 = 35

Divisione:

N    b    R
35   2    1
17   2    1
8    2    0
4    2    0
2    2    0
1    2    1

Risultato: 100011
-32 + 2 + 1 = -29 → 2CP

2) Rappresentazione di +29

  • Calcolo opposto: 011100 + 1 = 011101
    +29 → 2CP

Divisione:

N    b    R
29   2    1
14   2    0
7    2    1
3    2    1
1    2    1

Risultato: 011101 * 2 + 0 * 2 + 1 * 2 + 1 * 2 + 1 = 29

3) Rappresentazione di -29

  • Calcolo opposto: 100010 + 1 = 100011
    -29
Anteprima
Vedrai una selezione di 1 pagina su 4
Rappresentazione complemento a due Pag. 1
1 su 4
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher LucaTosetti_ di informazioni apprese con la frequenza delle lezioni di Fondamenti di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Mirandola Raffaela.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community