Tecnologia - Sistemi di Numerazione: Binario, Ottale ed Esadecimale | Prof. Giagnotti
Tecnologia • Anno 3 • Modulo 1 • Lezione 01
✍ Autore: Prof. Giagnotti

Sistemi di Numerazione: Binario, Ottale ed Esadecimale

Dal decimale che usi ogni giorno al binario dei transistor: capisci perché i computer contano solo con 0 e 1, come rendere quel linguaggio leggibile con esadecimale e ottale, e come convertire senza sbagliare tra tutte le basi.

⏱ 55 min 🧠 Sistemi di numerazione 💻 Base 2 / 8 / 16
OBIETTIVI DI APPRENDIMENTO
✓Capire cos'è un sistema di numerazione posizionale e perché la base cambia tutto
✓Convertire numeri tra sistema decimale, binario, ottale ed esadecimale
✓Spiegare perché i computer "ragionano" in binario a livello elettronico
✓Applicare le conversioni a casi reali: colori CSS, indirizzi di memoria, permessi Unix

Prova a pensare per un attimo a quante volte al giorno leggi un numero senza accorgertene: l'ora sul telefono, il prezzo di un caffè, il numero di follower di un profilo. Tutti scritti con dieci simboli — da 0 a 9 — che combiniamo secondo regole che diamo per scontate. Eppure quelle stesse regole, applicate con basi diverse da dieci, sono il modo in cui un computer rappresenta letteralmente tutto: testo, immagini, suoni, istruzioni. Capire i sistemi di numerazione non è un esercizio astratto di Matematica: è il primo passo per capire come funziona davvero una macchina digitale.

1. Perché non basta il sistema decimale

Il sistema che usi ogni giorno si chiama decimale perché ha dieci cifre disponibili (0-9) ed è quasi certamente nato dal fatto che abbiamo dieci dita. È un'ottima scelta per contare a mano, ma è una pessima scelta per un circuito elettronico. Un transistor, il mattoncino fondamentale di ogni processore, sa fare bene una cosa sola: distinguere in modo affidabile tra due stati, "acceso" e "spento", corrente che passa o non passa. Costruire un componente capace di distinguere in modo affidabile dieci livelli di tensione diversi sarebbe complesso, lento e soggetto a errori.

Da qui nasce la scelta, quasi obbligata, del sistema binario: due soli simboli, 0 e 1, che si mappano perfettamente sui due stati elettrici di un transistor. Ma il binario non basta a raccontare tutta la storia: per motivi di leggibilità e compattezza, informatici e programmatori usano quotidianamente anche il sistema ottale e, soprattutto, quello esadecimale. Prima di vederli uno per uno, però, serve capire la regola che li accomuna tutti.

Il sistema di numerazione posizionale

📌 Definizione da ricordare

In un sistema posizionale in base b, un numero è una sequenza di cifre d (0 ≤ d ≤ b-1). Il suo valore è: N = dₙ·bⁿ + … + d₁·b¹ + d₀·b⁰ — la posizione decide il peso.

Applicalo al numero decimale 486: non è "quattro, otto, sei" messi accanto, ma 4×10² + 8×10¹ + 6×10⁰ = 400+80+6. La posizione di ogni cifra ne determina il "peso". Questa logica vale per qualunque base: cambia solo b e quanti simboli hai. È l'unica cosa da ricordare per non perdersi nelle conversioni.

💬 Tip del docente – personalizzazione Tecnologia

Io ho pensato di fare così quando spiego la base a lezione: parto dal contachilometri dell'auto. Ogni ruota va da 0 a 9 e quando finisce scatta la successiva. Se la ruota avesse solo 2 simboli (0,1) avresti il binario. Se ne avesse 16 (0-9 + A-F) avresti l'esadecimale. Stesso meccanismo, cambia solo quante tacche ha la ruota.

Io lo farei così per memorizzarlo: disegna subito su quaderno la formula posizionale e sotto scrivi 3 esempi con base 10, 2 e 16 dello stesso numero 13. Vedi con i tuoi occhi che cambia la scrittura ma non il valore. È Tecnologia, non solo matematica: stai descrivendo hardware.

2. Il sistema binario: la lingua madre dei computer

Nel binario la base è 2, quindi le uniche cifre sono 0 e 1, chiamate bit. Otto bit formano un byte, l'unità storica con cui si organizza la memoria. Ogni posizione in un byte corrisponde a una potenza di 2:

Posizionebit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
Peso1286432168421

Con un byte rappresenti 2⁸ = 256 valori (0-255). Ecco perché ogni canale RGB va da 0 a 255: è esattamente un byte.

Da decimale a binario: divisioni successive

Dividi ripetutamente per 2 annotando i resti, finché il quoziente è 0. Il binario si legge dal basso verso l'alto. Convertiamo 214:

CONVERSIONE · 214 DEC -> BIN
214 ÷ 2 = 107 resto 0 107 ÷ 2 = 53 resto 1 53 ÷ 2 = 26 resto 1 26 ÷ 2 = 13 resto 0 13 ÷ 2 = 6 resto 1 6 ÷ 2 = 3 resto 0 3 ÷ 2 = 1 resto 1 1 ÷ 2 = 0 resto 1 -> leggi dal basso: 11010110Verifica: 128+64+0+16+0+4+2+0 = 214 ✓
🎯 Esempio in classe – Tecnologia

Prendi un LED collegato ad Arduino: 0 = spento, 1 = acceso. Se vuoi rappresentare 214 con 8 LED in fila, accendi quelli dei pesi 128, 64, 16, 4, 2. È esattamente 11010110. Non è teoria, è ciò che vedresti sul banco in laboratorio.

Da binario a decimale

Sommi i pesi dove c'è 1. Esempio 10110101: pesi 128, 32, 16, 4, 1 → 128+32+16+4+1=181.

💬 Tip del docente

Io ho pensato di fare così per evitare errori in verifica: scrivo sempre la tabellina 128 64 32 16 8 4 2 1 sopra il numero prima di calcolare. Sembra banale ma ti salva. Io lo farei così anche a casa: fai 10 conversioni al giorno per una settimana, 3 minuti, cronometro alla mano. Dopo diventa automatico, come le tabelline.

3. Il sistema esadecimale: il binario reso leggibile

Leggere sequenze lunghe di 0 e 1 è faticoso e soggetto a errori: basta perdere un bit ed è tutto sbagliato. Ovunque trovi rappresentazioni binarie nella pratica — indirizzi di memoria, colori CSS, indirizzi MAC — trovi la versione in base 16.

Avendo solo 10 cifre numeriche, usa anche le prime sei lettere:

DecimaleBinario 4 bitEsadecimale
000000
100011
200102
300113
401004
501015
601106
701117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F

Perché proprio 16

Perché 16 = 2⁴: ogni cifra esadecimale = esattamente 4 bit. Converti raggruppando i bit a 4 a 4, senza divisioni.

🎯 Esempio reale – colore CSS #4A9EFF

Il colore #4A9EFF è tre byte esadecimali: 4A, 9E, FF → in decimale 74, 158, 255 → RGB(74,158,255). L'esadecimale è solo una scorciatoia compatta per scrivere lo stesso numero binario. Lo stesso vale per gli indirizzi MAC o gli hash che vedi in Tecnologia.

Esempio completo su 214 → binario 11010110 → gruppi 1101|0110 → D|6 = D6. Verifica: 13×16+6=214.

💬 Tip del docente – come lo presento in laboratorio

Io ho pensato di fare così per farvi capire l'utilità: apro DevTools del browser, ispeziono un colore e vi mostro come cambiando una cifra hex cambia solo un gruppo di 4 bit. Io lo farei così nello studio: impara a memoria la tabella fino a F, non barare con la calcolatrice per le prime 2 settimane. È come imparare le note: all'inizio costa, poi leggi al volo.

4. Il sistema ottale: meno diffuso, ma non estinto

Base 8, cifre 0-7, ogni cifra = 3 bit perché 8=2³. Negli anni '60/'70 era standard con word a 12/24/36 bit (divisibili per 3). Con l'architettura a 8/16/32/64 bit ha vinto l'hex (divisibile per 4), ma l'ottale sopravvive.

🎯 Esempio reale – permessi Linux

Hai già usato l'ottale: chmod 755 script.sh sono tre cifre ottali (proprietario/gruppo/altri). 7 = 111 = rwx, 5 = 101 = r-x. Una cifra ottale racconta in un carattere lo stato di 3 permessi. In Tecnologia lo incontri ovunque in sistemi embedded e storico Unix.

OttaleBinario 3 bitSignificato permessi Unix
7111rwx – lettura, scrittura, esecuzione
6110rw- – lettura, scrittura
5101r-x – lettura, esecuzione
4100r-- – solo lettura
0000--- – nessun permesso
💬 Tip del docente

Io ho pensato di fare così quando insegno chmod: vi faccio scrivere su foglio a 3 colonne r w x e sotto 0/1. Poi vi chiedo di ricavare la cifra ottale. Io lo farei così per ricordarlo: 4=r, 2=w, 1=x, somma. 7 è sempre tutto, 0 è niente. Due minuti e non sbagli più.

5. Conversioni tra basi qualsiasi e raggruppamenti furbi

Regola generale: decimale → base b: divisioni successive per b, resti dal basso. Base b → decimale: formula posizionale. Tra binario, ottale, esadecimale non serve passare dal decimale: basta raggruppare bit (3 per ottale, 4 per hex).

PYTHON · convertitore rapido per verificare
def to_base(n, b): chars="0123456789ABCDEF" res="" while n>0: res=chars[n%b]+res n//=b return res or "0"print(to_base(214,2)) # 11010110 print(to_base(214,16)) # D6 print(to_base(214,8)) # 326 -> verifica: 3*64+2*8+6=214# Binario -> Hex raggruppando binario="11010110" # padding a multiplo di 4 se serve (qui ok) hex_out="".join([hex(int(binario[i:i+4],2))[2:].upper() for i in range(0,len(binario),4)]) print(hex_out) # D6
📌 Trucco da ricordare per la verifica

Hex ↔ bin: 1 cifra hex = 4 bit. Oct ↔ bin: 1 cifra oct = 3 bit. Dec ↔ altri: sempre divisioni successive. Non mescolare i metodi.

6. Bit, byte, multipli e overflow — dove si sbaglia in verifica

In un computer i numeri occupano spazio fisso: 8, 16, 32, 64 bit. Se superi il massimo, hai overflow: il contatore riparte da 0. Un contatore a 8 bit a 255 +1 → 0, non 256. Da bug a guasto grave in sistemi reali.

⚠️ Attenzione — overflow e prefissi

Non confondere kB decimale vs KiB binario. 1 kB = 1000 byte (produttori dischi), 1 KiB = 1024 byte = 2¹⁰ byte (sistema operativo). Ecco perché un disco da 1 TB mostra meno spazio: non è difetto, è aritmetica binaria. E in verifica, se dimentichi che il massimo a 8 bit è 255, sbagli tutto il ragionamento sull'overflow.

Altro dettaglio cruciale: i prefissi kilo, mega, giga convivono in due convenzioni. In Tecnologia devi saper distinguere quando un datasheet parla decimale o binario: per RAM si usa quasi sempre binario, per dischi e reti spesso decimale.

01 · DEC vs BIN

1 KiB = 1024 byte

Usato da RAM, OS, file system. Potenza di 2.

02 · DISCHI & RETI

1 kB = 1000 byte

Usato da produttori HDD/SSD, velocità di rete.

💬 Tip del docente – personalizzazione molto spinta

Io ho pensato di fare così per farvi toccare con mano l'overflow: in lab vi faccio scrivere un contatore a 8 bit in Python con modulo 256 e vi mostro cosa succede quando incrementa oltre 255. Io lo farei così in compiti: prima scrivo sempre a fianco "max 8 bit = 255, max 16 bit = 65535" come promemoria, poi inizio il calcolo. Mi ha salvato mille volte anche quando progettavo firmware per Arduino, dove ogni byte conta.

In Tecnologia non basta la formula: devi chiederti "quanti bit ho? cosa succede se sfora? dove si vede in hardware?". Questa domanda è quella che trasforma un esercizio in competenza.

🐙 Laboratori Pratici

Vuoi passare all'azione? Accedi alla repository ufficiale GitHub del corso per scaricare i file dei laboratori pratici in formato .md.

Vuoi consultare la sezione dedicata ai laboratori sul sito? Accedi cliccando il pulsante qui sotto.

📊 Sezione dedicata ai Laboratori
✓In base b, valore = dₙ·bⁿ+…+d₀·b⁰: la posizione decide il peso.
✓Binario (base 2) = 2 stati elettrici del transistor → lingua madre dei computer.
✓Da decimale a altra base: divisioni successive, resti dal basso verso l'alto.
✓Hex = 2⁴ → 1 cifra = 4 bit, Oct = 2³ → 1 cifra = 3 bit: raggruppamenti diretti senza passare da decimale.
✓Bit fissi → overflow: superare il max azzera il contatore. kB (1000) vs KiB (1024) spiega i dischi "più piccoli".