Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

27
Rappresentazioni Rappresentazioni numeriche numeriche A. Ferrari A. Ferrari

Transcript of Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Page 1: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Rappresentazioni Rappresentazioni numerichenumeriche

A. FerrariA. Ferrari

Page 2: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

AritmeticaAritmeticaDei numeri binariDei numeri binari

Page 3: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Numeri binariNumeri binari

Page 4: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

SommaSommaPer sommare due numeri binari, si Per sommare due numeri binari, si devono addizionarne a due a due le devono addizionarne a due a due le cifre corrispondenti. cifre corrispondenti.

Se si ottiene 10Se si ottiene 1022 occorre riportare uno occorre riportare uno nella colonna successiva.nella colonna successiva.

Page 5: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Somma: esempioSomma: esempio

Page 6: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

SottrazioneSottrazionePer sottrarre due numeri si devono Per sottrarre due numeri si devono sottrarre a due a due le cifre sottrarre a due a due le cifre corrispondenti, ricordando che nel caso corrispondenti, ricordando che nel caso si abbia 0si abbia 022 – 1 – 122 occorre “prendere in occorre “prendere in prestito” dalla cifra precedente.prestito” dalla cifra precedente.

Page 7: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Sottrazione: Sottrazione: esempioesempio

Page 8: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

MoltiplicazioneMoltiplicazionePer moltiplicare due numeri binari occorre Per moltiplicare due numeri binari occorre considerare la tabella moltiplicativa.considerare la tabella moltiplicativa.

L’algoritmo per moltiplicare due numeri L’algoritmo per moltiplicare due numeri binari e poi identico a quello della binari e poi identico a quello della moltiplicazione decimale: moltiplicazione decimale:

si moltiplica il primo numero per le singole si moltiplica il primo numero per le singole cifre del secondocifre del secondo

i prodotti parziali cosi ottenuti devono i prodotti parziali cosi ottenuti devono essere quindi sommati tra loro dopo averli essere quindi sommati tra loro dopo averli spostati di una cifra a sinistra.spostati di una cifra a sinistra.

Page 9: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Moltiplicazione: Moltiplicazione: esempioesempio

Page 10: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

EsempiEsempi

Page 11: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

EsadecimaleEsadecimaleOttaleOttale

Page 12: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Ottale - Ottale - esadecimaleesadecimale

Oltre alla numerazione binaria vengono Oltre alla numerazione binaria vengono talvolta utilizzate anche le numerazioni talvolta utilizzate anche le numerazioni in base 8 (ottale) e 16 (esadecimale). in base 8 (ottale) e 16 (esadecimale).

Per la numerazione esadecimale sono Per la numerazione esadecimale sono necessarie 16 cifre:necessarie 16 cifre:

alle usuali 10 cifre arabe si aggiungono alle usuali 10 cifre arabe si aggiungono anche le prime 6 lettere maiuscole anche le prime 6 lettere maiuscole dell’alfabetodell’alfabeto

A = 10 ; B = 11 ; C = 12 ; D = 13 ; E = A = 10 ; B = 11 ; C = 12 ; D = 13 ; E = 14 ; F = 1514 ; F = 15

Page 13: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Base 2 - 8- 16Base 2 - 8- 16Binario Ottale

000

001

010

011

100

101

110

111

0

1

2

3

4

5

6

7

Binario Esadecimale

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

Page 14: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Conversione Conversione binario-ottalebinario-ottale

Dato un numero in base binaria, per Dato un numero in base binaria, per convertirlo in base ottale basta convertirlo in base ottale basta raccogliere le cifre a gruppi di tre e raccogliere le cifre a gruppi di tre e sostituire questi ultimi con il loro sostituire questi ultimi con il loro corrispondente ottalecorrispondente ottale

Page 15: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

ConversioneConversionebinario-binario-

esadecimaleesadecimalePer passare dalla base 2 alla base 16, si Per passare dalla base 2 alla base 16, si esegue il raccoglimento a gruppi di esegue il raccoglimento a gruppi di quattro cifrequattro cifre

Page 16: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Byte - semibyteByte - semibytel contenuto di un byte può< essere l contenuto di un byte può< essere facilmente espresso con due cifre facilmente espresso con due cifre esadecimali suddividendolo in due esadecimali suddividendolo in due semibyte di quattro bitsemibyte di quattro bit

Page 17: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Rappresentazione Rappresentazione dei numeri interidei numeri interiPer rappresentare un numero intero nella Per rappresentare un numero intero nella memoria degli elaboratori viene riservato memoria degli elaboratori viene riservato uno spazio determinato che può< essere uno spazio determinato che può< essere trattato con un’unica operazione. trattato con un’unica operazione.

Tale spazio, indicato con il termine parola Tale spazio, indicato con il termine parola (traduzione letterale dell’inglese word), (traduzione letterale dell’inglese word), ha una grandez- za costante e prefissata. ha una grandez- za costante e prefissata.

Per semplicità< faremo esempi con parole Per semplicità< faremo esempi con parole di due byte di lunghezza.di due byte di lunghezza.

Page 18: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Segno e moduloSegno e moduloIl primo bit (bit del segno) indica se il Il primo bit (bit del segno) indica se il numero e positivo o negativonumero e positivo o negativo

Se il bit di segno vale:Se il bit di segno vale:1 allora il numero memorizzato e negativo1 allora il numero memorizzato e negativo

0 allora il numero memorizzato e positivo 0 allora il numero memorizzato e positivo o nullo.o nullo.

I bit successivi forniscono la I bit successivi forniscono la rappresentazione del valore assoluto del rappresentazione del valore assoluto del numeronumero

Page 19: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Segno e moduloSegno e moduloNell'esempio Nell'esempio utilizziamo per utilizziamo per semplicità una semplicità una rappresentazione rappresentazione con 3 bit (il primo con 3 bit (il primo per il segno e i per il segno e i restanti 2 per il restanti 2 per il modulo)modulo)

000 +0

001 +1

010 +2

011 +3

100 -0

101 -1

110 -2

111 -3

Page 20: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Valori Valori rappresentabilirappresentabili

Se si utilizzano due byte (16 bit) e si Se si utilizzano due byte (16 bit) e si utilizza la rappresentazione in segno e utilizza la rappresentazione in segno e modulomodulo

Il primo bit rappresenta il segno Il primo bit rappresenta il segno

Rimangono 15 bit per rappresentare il Rimangono 15 bit per rappresentare il valore assoluto del numerovalore assoluto del numero

Risultano quindi rappresentabili tutti i Risultano quindi rappresentabili tutti i numeri interi compresi fra numeri interi compresi fra

+ 2+ 21515 -1 cioe +32767 -1 cioe +32767- 2- 21515 -1 cioe -32767 -1 cioe -32767

Page 21: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

OverflowOverflowIl termine overflow (traboccamento) Il termine overflow (traboccamento) indica che il volume di una sostanza indica che il volume di una sostanza eccede il volume del contenitoreeccede il volume del contenitore

Nel nostro caso incorriamo in overflow Nel nostro caso incorriamo in overflow se vogliamo rappresentare valori se vogliamo rappresentare valori superiori a +32767 in quanto vengono superiori a +32767 in quanto vengono persi i bit più significativipersi i bit più significativi

Attenzione che può essere interessato Attenzione che può essere interessato anche il bit di segnoanche il bit di segno

Page 22: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Esempio overflowEsempio overflowNell’esempio (rappresentazione a 8 bit) Nell’esempio (rappresentazione a 8 bit) la somma di due numeri produce la somma di due numeri produce overflowoverflow

Page 23: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Complemento a 2Complemento a 2Per i numeri relativi, una rappresentazione Per i numeri relativi, una rappresentazione alternativa a quella di segno e modulo e la alternativa a quella di segno e modulo e la rappresentazione in complemento a 2rappresentazione in complemento a 2

si rappresenta in binario il numero come si rappresenta in binario il numero come se fosse positivose fosse positivo

si “invertono” tutte le cifre del numero si “invertono” tutte le cifre del numero trasformando gli 0 in 1 e viceversa trasformando gli 0 in 1 e viceversa (complemento a uno);(complemento a uno);

si aggiunge 1.si aggiunge 1.

Page 24: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Numero -123Numero -123

123 0 1 1 1 1 0 1 1

compl. 1

1 0 0 0 0 1 0 0 +

1 =

compl. 2

1 0 0 0 0 1 0 1

Page 25: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Valori massimi e Valori massimi e minimiminimi

Page 26: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

EsempioEsempioNell'esempio Nell'esempio utilizziamo 3 bitutilizziamo 3 bit

Possiamo Possiamo rappresentare i rappresentare i valori da -2valori da -222 a +2 a +222-1-1

Esiste una sola Esiste una sola rappresentazione rappresentazione per il numero 0per il numero 0

000 +0

001 +1

010 +2

011 +3

100 -4

101 -3

110 -2

111 -1

Page 27: Rappresentazioni numeriche A. Ferrari. Aritmetica Dei numeri binari.

Somma in Somma in complemento a 2complemento a 2

0 0 1 0 + 0 0 1 0 + (+2)(+2)

1 0 1 1 =1 0 1 1 = (-5)(-5)

1 1 0 11 1 0 1 (-3)(-3)

0 1 1 1 + 0 1 1 1 + (+7)(+7)

1 0 1 1 =1 0 1 1 = (-5)(-5)

0 0 1 00 0 1 0 (+2)(+2)

000 +0

001 +1

010 +2

011 +3

100 -4

101 -3

110 -2

111 -1