Estratto del documento

Sistemi di numerazione e algebra booleana

Laura Farinetti, Claudio Fornaro, Antonio Lioy, Massimo Poncino

Dipartimento di Automatica e Informatica

Politecnico di Torino

Sistemi di numerazione

Il sistema di numerazione usuale è posizionale (unità, decine, centinaia, ...) decimale (cifre = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9). In altre parole:

208 = 2 * 102 + 0 * 101 + 8 * 100

Altri sistemi di numerazione di interesse sono anch'essi posizionali, ma con base diversa da 10.

Sistema Base Cifre
Binario 2 0, 1
Ottale 8 0, 1, 2, 3, 4, 5, 6, 7
Esadecimale 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.1

Conversione decimale base N

Si effettuano divisioni successive del numero dato per la base N; i resti delle singole divisioni, presi alla rovescia, rappresentano le cifre del numero nella base N.

Esempio: convertire 107 in base 2, 5 e 16.

Base 2 Base 5 Base 16
Quozienti: 53, 26, 13, 6, 3, 1, 0
Resti: 1, 1, 0, 1, 0, 1, 1
Quozienti: 21, 4, 0
Resti: 2, 1, 4
Quozienti: 6, 0
Resti: 11, 6

I resti sono in base 10, quindi devono essere convertiti in base N: (11)10 = (B)16.

Quindi 107 = (1101011)2 = (412)5 = (6B)16.

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.2

Esercizi - conversione decimale base N

Convertire i seguenti numeri decimali nelle basi specificate:

  • 345 in base 2 [R. 101011001]
  • 345 in base 8 [R. 531]
  • 345 in base 16 [R. 159]
  • 989 in base 5 [R. 12424]
  • 417 in base 7 [R. 1134]
  • 615 in base 9 [R. 753]
  • 426 in base 2 [R. 110101010]
  • 1042 in base 11 [R. 868]

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.3

Esercizi - conversione decimale base N

Convertire i seguenti numeri decimali nelle basi specificate:

  • 6666 in base 16 [R. 1A0A]
  • 4596 in base 4 [R. 1013310]
  • 687 in base 16 [R. 2AF]
  • 595 in base 5 [R. 4340]
  • 111 in base 2 [R. 1101111]
  • 656 in base 5 [R. 10111]
  • 811 in base 16 [R. 32B]
  • 1101 in base 8 [R. 2115]

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.4

Conversione base N decimale

Partendo dalla cifra più significativa, si moltiplica la cifra per il valore della base, elevata alla potenza corrispondente alla posizione.

Esempio: convertire (302)7 in base 10.

La cifra meno significativa indica il coefficiente di 70, quella più significativa il coefficiente di 72, per cui:

(302)7 = 3 * 72 + 0 * 71 + 2 * 70 = 3 * 49 + 0 * 7 + 2 * 1 = 147 + 0 + 2 = 149

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.5

Esercizi - conversione base N decimale

Convertire in base 10 i seguenti numeri espressi nelle basi indicate:

  • (1000101)2 [R. 69]
  • (477)8 [R. 319]
  • (40F)16 [R. 1039]
  • (3074)5 [R. Impossibile]
  • (5778)9 [R. 4283]
  • (126)9 [R. 105]
  • (781)16 [R. 1921]
  • (3B8)13 [R. 658]

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.6

Esercizi - conversione base N decimale

Convertire in base 10 i seguenti numeri espressi nelle basi indicate:

  • (10010)8 [R. 4104]
  • (2EA)16 [R. 746]
  • (369F)15 [R. Impossibile]
  • (5669)11 [R. 7456]
  • (94598)10 [R. 94598]
  • (889)12 [R. 1257]
  • (1110)3 [R. 1065]
  • (1357)8 [R. 751]

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.7

Conversione base N base M

In generale, conviene fare la conversione da base N a base 10, seguita dalla conversione da base 10 a base M.

Nel caso particolare in cui si debba passare dalla base 2 alle basi 8 o 16 (o viceversa), il calcolo è semplificato perché ogni cifra ottale (0, ..., 7) è esprimibile nella corrispondente codifica binaria (000, ..., 111) su 3 cifre binarie e ogni cifra esadecimale (0, ..., F) è esprimibile nella corrispondente codifica binaria (0000, ..., 1111) su 4 cifre binarie.

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.8

Esempi - conversione base N base M

(01001010100010110)2 Convertire in ottale

Partendo dalla cifra meno significativa si considerano le cifre binarie rispettivamente a gruppi di 3:

01 001 010 100 010 110 = 1124268

(AD3)16 Convertire in binario

Scriviamo le singole cifre esadecimali come numeri binari di 4 cifre:

A = 1010, D = 1101, 3 = 0011

Quindi: (AD3)16 = (101011010011)2

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.9

Esercizi - conversione base N base M

Convertire i seguenti numeri nelle basi indicate:

  • (10010101001010)2 in base 8 [R. 22512]
  • (11110101101000)2 in base 16 [R. 3D68]
  • (13277)8 in base 2 [R. 1011010111111]
  • (BE09)16 in base 2 [R. 1011000011101001]
  • (214)5 in base 2 [R. 111011]
  • (354)6 in base 7 [R. 510]
  • (821)12 in base 9 [R. 477]
  • (821)8 in base 9 [R. 1233]
  • (821)16 in base 9 [R. 29B]

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.10

Esercizi - conversione base N base M

Convertire i seguenti numeri nelle basi indicate:

  • (ACB29)8 in base 16 [R. 2541233]
  • (34772)16 in base 8 [R. 39FA]
  • (1011)13 in base 9 [R. 44B]
  • (312)4 in base 16 [R. 30102]
  • (1492)15 in base 11 [R. 87B]
  • (C14)16 in base 15 [R. A9F]
  • (C14)8 in base 15 [R. 5237]
  • (558)12 in base 9 [R. 322]

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.11

Addizioni e sottrazioni in binario

Si effettuano secondo le regole del sistema decimale, ossia sommando (sottraendo) le cifre di pari peso. Si suppone di non avere limitazione sul numero di cifre binarie (bit) disponibili.

Esempio: effettuare la somma binaria

111102 + 1010012 = 110010

Esempio: effettuare la differenza binaria

10112 - 01102 = 0101

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.12

Carry e borrow

Come nelle usuali operazioni su numeri decimali, si può avere un riporto sul bit di peso immediatamente superiore, o un prestito dal bit di peso immediatamente superiore.

Nella numerazione binaria questi sono detti rispettivamente carry e borrow.

Le somme (differenze) bit a bit possono essere definite come segue:

  • 0 + 0 = 0
  • 1 + 0 = 1
  • 0 + 1 = 1
  • 1 + 1 = 0 (carry=1)
  • 0 - 0 = 0
  • 1 - 0 = 1
  • 1 - 1 = 0
  • 0 - 1 = 1 (borrow=1)

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.13

Esercizi - somme e sottrazioni in binario

Effettuare le seguenti operazioni in binario puro:

  • (34)10 + (77)10 [R. 1101111]
  • (225)10 + (63)10 [R. 100100000]
  • (229)10 + (111)10 [R. 101010100]
  • (10)10 - (6)10 [R. 100]
  • (39)10 - (14)10 [R. 11001]
  • (32)10 - (7)10 [R. 11001]
  • (84)10 - (37)10 [R. 101111]
  • (18)10 - (7)10 [R. 1011]
  • (25)10 - (15)10 [R. 1010]

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.14

Overflow

Nel caso in cui si abbia un numero limitato di bit a disposizione (come avviene nella realtà), si possono avere due casi particolari:

  • Carry sul bit più significativo (MSB)
  • Borrow dal bit più significativo (MSB)

In entrambi i casi il numero di bit fissato non è sufficiente per rappresentare il risultato. Questa condizione si dice condizione di overflow.

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.15

Esempi - overflow

Considerando numeri binari di 4 bit, effettuare la somma 9 + 7

(9)10 = (1001)2

(7)10 = (0111)2

1001 + 0111 = 0000

Il risultato non è rappresentabile su 4 bit: overflow.

Considerando numeri binari di 4 bit, effettuare la differenza 4 - 7

(4)10 = (0100)2

(7)10 = (0111)2

0100 - 0111 = 1101

Il risultato non è rappresentabile su 4 bit: overflow.

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.16

Rappresentazione in modulo e segno

È uno dei modi per rappresentare numeri interi relativi su un numero fissato di bit. Dati N bit, il bit più significativo indica il segno, ed i restanti N-1 il valore assoluto del numero, in binario puro.

Segno modulo:

  • 0: segno +
  • 1: segno -

In questa notazione esistono due rappresentazioni del numero 0:

  • +0: 0000
  • -0: 1000

© 1992 - 96 - L. Farinetti, C. Fornaro, A. Lioy, M. Poncino (POLITO - DAI) SN-AB.17

Esercizi - modulo e segno

Rappresentare in modulo e segno su 4 bit il massimo e minimo valore, le due rappresentazioni dello 0, i numeri +5 e -1.

Soluzione:

  • Minimo numero = 1111 = -7
  • Massimo numero = 0111 = +7
  • -0 = 1000
  • +0 = 0000
  • +5 = 0101
  • -1 = 1111
Anteprima
Vedrai una selezione di 15 pagine su 67
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 1 Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 2
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 6
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 11
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 16
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 21
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 26
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 31
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 36
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 41
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 46
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 51
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 56
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 61
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Basi di dati - il sistema di numerazione e l'algebra booleana Pag. 66
1 su 67
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher cecilialll di informazioni apprese con la frequenza delle lezioni di Basi di dati 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 Torino o del prof Farinetti Laura.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community