La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sistemi posizionali, numeri binari, complemento a due Rappresentazioni numeriche.

Presentazioni simili


Presentazione sul tema: "Sistemi posizionali, numeri binari, complemento a due Rappresentazioni numeriche."— Transcript della presentazione:

1 Sistemi posizionali, numeri binari, complemento a due Rappresentazioni numeriche

2 Conversione dalla base 10 alla base 2 Dato un numero N la sua rappresentazione in base due sarà del tipo c k c k-1 c k-2 … c 1 c 0 (dove c i è una cifra binaria) Per convertire un numero in base dieci nel corrispondente in base due si devono trovare i resti delle divisioni successive del numero N per due

3 Conversione dalla base 10 alla base 2 Esempio: il numero 6 10 : 6/2 = 3 resto 0 3/2 = 1 resto 1 1/2 = 0 resto 1 Leggendo i resti dal basso verso lalto, si ha che la rappresentazione binaria del numero 6 10 è 110 2

4 Conversione dalla base 10 alla base 2 Esempio: il numero : 345/2 = 172 resto 1 172/2 = 86 resto 0 86/2 = 43 resto 0 43/2 = 21 resto 1 21/2 = 10 resto 1 10/2 = 5 resto 0 5/2 = 2 resto 1 2/2 = 1 resto 0 1/2 = 0 resto 1 Leggendo i resti dal basso verso lalto (in quanto si ottengono a partire dalla cifra meno significativa, lunità), si ha che rappresentazione binaria del numero è

5 Conversione dalla base 2 alla base 10 Sia c m c m-1 c m-2 … c 1 c 0 un numero rappresentato in base 2, usiamo: c m x 2 m + c m-1 x 2 m-1 + c m-2 x 2 m-2 + … + c 1 x c 0 x 2 0 = N Esempio: x x x x x x x x x 2 0 = = 345

6 Altri basi: ottale, esadecimale Sistema ottale Utilizza una notazione posizionale basata su otto cifre (0,1,…,7) e sulle potenze di 8 Esempio: = 1 x x x 8 0 = 67 Sistema esadecimale Utilizza una notazione posizionale basata su sedici cifre (0,1,…,9,A,B,C,D,E,F) e sulle potenze di 16 Esempio: = 1 x x x 16 0 = 259 Esempio: AC4 16 = 10 x x x 16 0 = 2756

7 Operazioni su numeri binari Vediamo solo il caso della addizione nella codifica binaria: Si mettono in colonna i numeri da sommare Si calcola il riporto ogni volta che la somma parziale supera il valore 1 Addizione: = 0 con riporto = 1 con riporto = 1 con riporto = 0 con riporto 1

8 Operazioni su numeri binari Addizione: = 0 con riporto = 1 con riporto = 1 con riporto = 0 con riporto 1 Esempi: = = = =

9 Codici a lunghezza fissa Se si usa un numero prestabilito di cifre si ha un codice a lunghezza fissa In questo modo si pone anche un limite al numero massimo rappresentabile Esempio: qual è il numero più grande rappresentabile con 4 cifre? In base 10:9999 In base 2:1111(=15 10 ) In base 16:FFFF(= ) In base 8:7777(= )

10 Codici a lunghezza fissa Numeri maggiori di quello massimo rappresentabile causano problemi di overflow Ovvero per essere rappresentati richiedono più cifre di quelle a disposizione Esempio: 4 cifre In base 10: = In base 2: = (=16 10 ) In base 16:FFFF + 1= (= ) In base 8: = (= )

11 Codici a lunghezza fissa In generale, con N cifre a disposizione e base b il più grande numero (intero positivo) rappresentabile si può esprimere come b N – 1 Esempio: N=4 In base 10:9999 = In base 2:1111 = In base 16:FFFF = In base 8:7777 =

12 Codici a lunghezza fissa Esempio di overflow nel sistema binario dovuto a operazioni aritmetiche: = 9 (in sistema decimale) abbiamo usato solo un cifre decimale per il risulto Ricordiamo: 5 10 = 101 2,4 10 = Errore: overflow (non può essere codificato 9 10 = con tre bit) = (in sistema binario)

13 Rappresentazione dei numeri In realtà, una semplice codifica binaria come quella discussa fino ad ora non è sufficiente, per due motivi: Numeri negativi Numeri con la virgola Per questi numeri vengono utilizzate delle rappresentazioni differenti Per esempio complemento a due per rappresentare i numeri negativi

14 Rappresentazione dei numeri negativi Si può pensare di usare un bit per il segno 0 identifica + 1 identifica - Gli altri bit vengono usati per codificare il valore assoluto (modulo) del numero

15 Rappresentazione dei numeri negativi Con 3 bit avremo: Problemi: Il numero 0 ha due rappresentazioni Per loperazione di somma si deve tener conto dei segni degli addendi (+2) =(-3) (-5 ERRATO)

16 Rappresentazione dei numeri negativi Complemento a due: Il bit più significativo rappresenta il segno del numero: 0 per i numeri positivi e 1 per i numeri negativi La rappresentazione di un numero positivo si ottiene codificando il valore assoluto del numero con i bit restanti La rappresentazione di un numero negativo si ottiene in tre passi: Si rappresenta in complemento a due il numeri positivo con lo stesso valore assoluto del numero negativo da codificare Si invertono tutti i bit in tale rappresentazione (0 1,1 0) Si somma uno al risultato ottenuto al passo precedente

17 Complemento a due Esempio (con 4 bit a disposizione): La codifica di +5 è 0101 La codifica del numero –5 avviene in tre passi: La rappresentazione in complemento a due di +5 è 0101 Invertendo tutti i bit si ottiene 1010 Sommando 1 si ottiene 1011, la rappresentazione in complemento a due di -5

18 Complemento a due Per ottenere un numero con segno data la sua rappresentazione in complemento a due: Se il primo bit è 0 il numero è positivo: per calcolarne il valore assoluto si esegue la conversione da binario a decimale Se il primo bit è 1 il numero è negativo: Si ignora il primo bit Si invertono i restanti bit Si converte il numero da binario a decimale Si somma uno al numero ottenuto per ottenere il valore assoluto del numero negativo

19 Complemento a due Esempio: 1011 Si esclude il primo bit Invertendo 011 si ottiene 100 che è codifica di 4 Va aggiunto 1 per ottenere il valore assoluto 5 Il risultato è quindi -5

20 Esercizio Esercizio: Rappresentare in complemento a = = Complemento a uno Soluzione: =

21 Complemento a due Con 3 bit avremo: Esempi di addizione: (+2) =(-5) (-3) (+7) =(-5) (+2) Nel secondo esempio, loverflow è ignorato

22 Codifica dei numeri Codificare il numero nella corrispondente rappresentazione binaria Ordinare in modo crescente i seguente numeri: , 12 8, , Codificare il numero negativo –12 10 nella rappresentazione in complemento a due

23 Concludendo … « There are only 10 types of people in the world: those who understand binary and those who don't » « Ci sono solamente 10 tipi di persone nel mondo: chi comprende il sistema binario e chi no »


Scaricare ppt "Sistemi posizionali, numeri binari, complemento a due Rappresentazioni numeriche."

Presentazioni simili


Annunci Google