Anteprima
Vedrai una selezione di 1 pagina su 4
Rappresentazione complemento a due Pag. 1
1 su 4
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
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 (-2^n-1, 2^n-1), nella rappresentazione con complemento a due invece è possibile rappresentare numeri nell'intervallo [-2^n-1, 2^n-1+1]. Per esempio, con n=4 (bit), l'intervallo nella rappresentazione MS sarebbe (-8, 8) con estremi non compresi, mentre nella rappresentazione con complemento a due sarebbe [-8, 7] con 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 mediante complemento a due esiste un solo 0. Per poter effettuare la rappresentazione con complemento a due...Si può procedere in due possibili modi: 1) Utilizzare la formula (2 - |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. Esempio: N = -29 n = ГLog (30)Ⴈ + 12 = Г4,1Ⴈ + 1 = 6 n = 6 (2 - |N|) = (2 - 29) = 64 - 29 = 35 2) Procedere con il metodo delle divisioni ripetute per ottenere il numero in rappresentazione in base 2 complemento a due Questo metodo può essere utilizzato per convertire un numero in rappresentazione binaria, sia esso positivo o negativo. Esempio: N = -29 n = ГLog (30)Ⴈ + 12 = Г4,1Ⴈ + 1 = 6 n = 6 1) Considerare il modulo del numero dato N = -29 N = |N| = 29 2) Effettuare il metodo delle divisioni ripetute per trovare il numero dato convertito in rappresentazione binaria 35 ÷ 2 = 17 resto 1 17 ÷ 2 = 8 resto 1 8 ÷ 2 = 4 resto 0 4 ÷ 2 = 2 resto 0 2 ÷ 2 = 1 resto 0 1 ÷ 2 = 0 resto 1 Numero binario: 100011 3) Aggiungere uno 0 davanti al numero binario appena ottenuto Numero binario: 0100011 4) Opzionale) Nel caso in cui si voglia rappresentare un numero negativo occorre anche andare ad invertire i bit e sommargli un bit pari a 1 Numero binario: 1100011 Quindi, -29 in base 2 complemento a due è rappresentato come 1100011. Tosetti Luca22/09/2020Complemento a due4 2 02 2 01 2 10Nel caso in cui si voglia ottenere la rappresentazione di +29 e non -29occorre:
100011 Calcolare opposto 011100 +→ → 1 =011101 +29→2CP2 102) N b R29 2 114 2 0 0 1 2 37 2 1 =11101 011101 * 2 + 0 * 2 + 1 * 2 + 1 * 2 + 1 *→ →12CP24 52 + 0 * 2 = 29 103 2 11 2 10Nel caso in cui si voglia ottenere la rappresentazione di -29 e non +29occorre:
011101 Calcolare opposto 100010 +→ → 1 =100011 -29→2CP2 10In alcuni casi durante le operazioni con numeri in base 2, può essere necessarioandare ad aumentare o diminuire il numero di bit relativi alla rappresentazione di unnumero in base alle esigenze (tendenzialmente si aumentano il numero di bit con iquali viene rappresentato il numero in binario).Nel caso di aumento bit:Se il bit più significativo è lo 0, vengono aggiunti tanti 0 quanti sono necessari
per raggiungere lo stesso numero di bit con i quali è rappresentato l'altro numero binarioSe il bit

Il più significativo è l’1, vengono aggiunti tanti 1 quanti sono necessari per raggiungere lo stesso numero di bit con i quali è rappresentato l’altro numero binario

  • 010101 6 bit
  • 00010101 8 bit
  • 100101 6 bit
  • 11100101 8 bit

Tosetti Luca 22/09/2020

Complemento a due

Nel caso di diminuzione dei bit:

Si tolgono i bit più significativi uguali tra di loro lasciando tra questi quello meno significativo

  • 00010101 8 bit
  • 010101 6 bit
  • 11100101 8 bit
  • 100101 6 bit

Ovviamente è possibile effettuare operazioni tra numeri rappresentati in base 2 complemento a due:

Addizione: È uguale all’addizione tra i numeri naturali e alla normale addizione tra numeri binari già vista in precedenza.

A = (77) 10

B = (-100) 10

n = ГLog (78)Ⴈ + 1 = 81 2

n = ГLog (101)Ⴈ + 1 = 81 2

1 1 1

A 010 0 1 101 + 73

B 10011100 = -10011101001 -270

1 2 3 4 5 6 7

1 * 2 + 0 * 2 + 0 * 2 + 1 * 2 + 0 * 2 + 1 * 2 + 1 * 2 - 1 * 2 =

1+8+32+64-128= -23

Sottrazione:

Nel caso della sottrazione si può semplicemente procedere andando a fare la somma tra il primo numero e l'opposto del secondo numero. A - B = A + (-B) A = (77)10 B = (-100)10 Calcoliamo l'opposto di B con il complemento a 2: 1 110011100 + 011000 1 1 + 1 = 0 1100100 -B = 100 A - B = 77 - 100 = -23
Dettagli
Publisher
A.A. 2020-2021
4 pagine
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.