# Esercitazioni pratiche di elettronica/I sistemi di numerazione

Esercitazioni pratiche di elettronica
Copertina Tutti i moduli · Sviluppo
* IntroduzioneEsercitazioni pratiche di elettronica/Introduzione
* Lezioni:
** Simulazione dei principali circuiti con amplificatore operazionaleEsercitazioni pratiche di elettronica/Simulazione dei principali circuiti con amplificatore operazionale
** Differenza fra segnali analogici e segnali digitaliEsercitazioni pratiche di elettronica/Differenza fra segnali analogici e segnali digitali
** Introduzione alle logiche TTLEsercitazioni pratiche di elettronica/Introduzione alle logiche TTL
** Classi fondamentali dei circuiti digitaliEsercitazioni pratiche di elettronica/Classi fondamentali dei circuiti digitali
** I sistemi di numerazioneEsercitazioni pratiche di elettronica/I sistemi di numerazione
*** Conversione da base 2 in base 10Esercitazioni pratiche di elettronica/I sistemi di numerazione/Conversione da base 2 in base 10
*** Conversione da base 10 in base 2Esercitazioni pratiche di elettronica/I sistemi di numerazione/Conversione da base 10 in base 2
*** Conversione da base 10 in base 16Esercitazioni pratiche di elettronica/I sistemi di numerazione/Conversione da base 10 in base 16
** Il ciclo di progettoEsercitazioni pratiche di elettronica/Il ciclo di progetto
** Software ISE-XILINX Free WebpackEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack:
*** Finestra principaleEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Finestra principale
*** Creazione di un nuovo progettoEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Creazione di un nuovo progetto
*** Creazione di uno schemaEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Creazione di uno schema
*** Creazione di un file VHDLEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Creazione di un file VHDL
*** Creazione di una Macchina a Stati FinitiEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Creazione di una Macchina a Stati Finiti
*** Il file di piedinaturaEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/Il file di piedinatura
*** La simulazioneEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/La simulazione
*** L'implementazione su scheda e il testEsercitazioni pratiche di elettronica/Software ISE-XILINX Free Webpack/L'implementazione su scheda e il test
* Esercitazioni di laboratorioEsercitazioni pratiche di elettronica/Esercitazioni di laboratorio
** Logica CombinatoriaEsercitazioni pratiche di elettronica/Logica Combinatoria:
*** Implementazione di una funzioneEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Implementazione di una funzione
*** Dalla tabella della verità all'implementazioneEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Dalla tabella della verità all'implementazione
*** Il multiplexerEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il multiplexer
*** Implementazione di una funzione tramite multiplexerEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Implementazione di una funzione tramite multiplexer
*** Il Semisommatore o Half-AdderEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il Semisommatore o Half-Adder
*** Il Sommatore completo o Full-AdderEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il Sommatore completo o Full-Adder
*** Full-Adder realizzato con mux a 3 ingressi di selezioneEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Full-Adder realizzato con mux a 3 ingressi di selezione
*** Full-Adder realizzato con mux a 2 ingressi di selezioneEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Full-Adder realizzato con mux a 2 ingressi di selezione
*** Sommare due parole di 4 bitEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Sommare due parole di 4 bit
*** Sommatore a 4 bit di tipo LOOK AHEAD CARRYEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Sommatore a 4 bit di tipo LOOK AHEAD CARRY
*** Il ComparatoreEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il Comparatore
*** Il Comparatore a più bitEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il Comparatore a più bit
*** Il decodificatore da BCD a sette segmentiEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il decodificatore da BCD a sette segmenti
*** Il decodificatore da BCD a 7 segmenti in VHDLEsercitazioni_pratiche_di_elettronica/Logica_Combinatoria/Il decodificatore da BCD a 7 segmenti in VHDL
*** Multiplexing di più display a 7 segmentiEsercitazioni pratiche di elettronica/Logica Combinatoria/Multiplexing di più display a 7 segmenti
* Logica SequenzialeEsercitazioni pratiche di elettronica/Logica Sequenziale:
** Flip Flop di tipo DEsercitazioni pratiche di elettronica/Logica Sequenziale/Flip Flop di tipo D
** Flip Flop di tipo JK
** Flip Flop di tipo TEsercitazioni pratiche di elettronica/Logica Sequenziale/Flip Flop di tipo T
** Contatore e-o divisore modulo 2Esercitazioni pratiche di elettronica/Logica Sequenziale/Contatore e-o divisore modulo 2
** Contatori in cascataEsercitazioni pratiche di elettronica/Logica Sequenziale/Contatori in cascata
** Macchine a Stati FinitiEsercitazioni pratiche di elettronica/Logica Sequenziale/Macchine a Stati Finiti
* Elaborazione di Progetti ComplessiEsercitazioni pratiche di elettronica/Elaborazione di progetti complessi
* Risorse per il laboratorioEsercitazioni pratiche di elettronica/Risorse per il laboratorio
* Laboratorio di SistemiEsercitazioni pratiche di elettronica/Laboratorio di Sistemi
* AcronimiEsercitazioni pratiche di elettronica/Acronimi
* AutoriEsercitazioni pratiche di elettronica/Autori
Modifica il sommario

## Discorso introduttivo

"Il saper fare di conto", è una delle operazioni più difficili e che viene invece considerata con sufficienza e superficialità con il risultato che se parli di numerazione in base 2 oppure in base 8 oppure in base 16, inizialmente ti sembra di parlare ad una popolazione incontrata dall'enterprise in una delle sue esplorazioni intergalattiche. Bando agli scherzi! La numerazione avviene accostando un certo numero di cifre numeriche e generalmente siamo abituati a scrivere i numeri in base 10, accostandoli a partire da sinistra con le cifre aventi peso maggiore e muovendosi verso destra con le cifre aventi peso minore. Ad esempio se scrivo 7348 settemilatrecentoquarantotto, sto scrivendo praticamente una quantità pari a 7 migliaia + 3 centinaia + 4 decine + 8 unità. Questo lo abbaimo studiato alle scuole elementari, ma siamo sicuri di averlo capito?
Quanto abbiamo appena detto merita innanzitutto una generalizzazione in modo che la tecnica con la quale siamo abituati a scrivere i numeri in base 10 ci possa essere ugualmente utile per scrivere numeri ovvero saper contare, in sistemi di numerazione che adottano altre basi numeriche.
Chiariamo quindi cosa vuol dire base:
Un esempio chiarirà meglio quanto stiamo per dire; affermare che un numero è espresso in base 10 vuol dire che quel numero è stato costruito con un numero di oggetti pari a 10 e questi oggetti sono precisamente le cifre numeriche a partire da zero (0) fino a nove (9).
Se invece un numero è in base 2 allora ho adoperato esclusivamente 2 oggetti per costruirlo che sono le cifre numeriche da zero (0) a uno (1).
In generale possiamo quindi stabilire la regola che:
Un numero si esprime in una certa base se si adopera per la sua costruzione un numero di cifre pari alla base adottata e tali cifre vanno da zero (0) alla (base - 1).
Quindi...
* la base 10 usa le cifre da 0 a 9
* la base 2 le cifre da 0 a 1
* la base 8 le cifre da 0 a 7
* la base 16 le cifre da 0 a 15.
Per le basi maggiori di 10, in particolare noi utilizzeremo spesso e volentieri la base 16, si pone il problema che le cifre numeriche del sistema che utilizziamo noi sono al massimo in numero di 10 (le cifre che vanno da 0 a 9) e quindi sono state introdotto delle lettere che individuino univocamente le cifre numeriche, ovvero gli oggetti, che devono rappresentare il decimo, l'undicesimo, il dodicesimo....fino al quindicesimo oggetto. Ecco perché per la numerazione in base 16, a differenza delle altre basi le cifre numeriche sono:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

## La conversione da una base all'altra

In fase progettuale di un hardware o di un software si avrà a che fare spesso e volentieri, con il dover convertire un numero espresso in una certa base, in un'altra base più adatta al sistema che stiamo utilizzando in quel momento.
Ecco perché qui introduco alcuni algoritmi di conversione da una base all'altra che sono molto utili nel nostro bagaglio tecnico.
* Un po' di matematica non guasta...
Prima di iniziare è bene che l'insegnante spieghi la seguente formula che esplode
un numero N in base B nella sommatoria delle cifre che compongono il numero
moltiplicate per la base elevata al peso che la cifra stessa ha nel numero:
$N_{B_{1}}=\sum _{P_{1}=0}^{H-1}C_{P1}*{B_{1}}^{P_{1}}$
e dove H è il numero di bit che compongono il numero.
In termini puramente matematici, effettuare una conversione di base equivale a trovare i coefficienti
del numero nella base desiderata a partire dalla seguente equivalenza:
$N_{B_{1}}=\sum _{P_{1}=0}^{h-1}C_{P1}*{B_{1}}^{P_{1}}=\sum _{P_{2}=0}^{k-1}C_{P2}*{B_{2}}^{P_{2}}=N_{B_{2}}=N_{10}$
dove h è il numero di bit che compongono il numero in base $B_{1}$
e k è il numero di bit che compongono il numero in base $B_{2}$
ed entrambe devono dare come risultato lo stesso numero in base 10.

## Esempio:

$76_{10}=6*10^{0}+7*10^{1}=1001100_{2}=0*2^{0}+0*2^{1}+1*2^{2}+1*2^{3}+0*2^{4}+0*2^{5}+1*2^{6}$
76 IN BASE 10 = 1001100 IN BASE 2.

## GLI ALGORITMI DI CONVERSIONE

* Conversione da base 2 in base 10
* Conversione da base 10 in base 2
* Conversione da base 10 in base 16