Calcolatore Hex-Binario: conversioni, bitwise, complemento 2

Converti numeri tra basi 2, 8, 10, 16, aritmetica binaria, operazioni bitwise AND/OR/XOR/NOT, shift e complemento a due. Quattro modalità programmazione.

Parametri di calcolo
Questo calcolatore ti è stato utile?

Sistemi di numerazione: decimale, binario, ottale, esadecimale

Ogni sistema posizionale rappresenta un numero come somma di potenze della base: n = Σᵢ dᵢ·b^i, dove dᵢ è la cifra i-esima (0 ≤ dᵢ < b) e b la base. I sistemi più usati in informatica sono: base 10 (decimale, cifre 0-9); base 2 (binario, cifre 0-1, fondamentale per circuiti elettronici); base 8 (ottale, cifre 0-7, storicamente in PDP-11 Unix); base 16 (esadecimale, cifre 0-9, A-F). L'esadecimale è preferito per rappresentare byte (1 byte = 2 hex digit) in indirizzi di memoria, colori RGB, MAC address, hash.

Metodi di conversione

Da base b a decimale: sommare dᵢ·b^i. Esempio: hex A3 = 10·16 + 3·1 = 163. Da decimale a base b: divisioni successive per b, leggere i resti al contrario. Esempio: 163 / 16 = 10 resto 3, 10 / 16 = 0 resto 10 (A) → A3 hex. Da binario a hex: raggruppare i bit in nibble (4 bit) da destra: 10110010₂ = 1011 0010 = B2₁₆. Viceversa: ogni hex digit → 4 bit.

Aritmetica binaria

Somma: regole 0+0=0, 0+1=1, 1+1=10 (riporto). Esempio: 1011 + 0110 = 10001 (11+6=17). Sottrazione: come in decimale con prestito, oppure somma del complemento a due del sottraendo. Moltiplicazione binaria: shift-and-add (equivalente a moltiplicazione lunga decimale). Divisione: shift-and-subtract. Le CPU moderne implementano queste operazioni in hardware a velocità di 1 ciclo di clock per 64-bit (x86-64, ARM64).

Operazioni bitwise

AND (&): 1 sse entrambi i bit sono 1. Usato per mascheratura: x & 0x0F isola i 4 bit bassi. OR (|): 1 se almeno uno è 1. Usato per impostare bit: x | 0x80 imposta il bit più significativo. XOR (^): 1 se diverso. Usato per flipping e crittografia semplice: x ^ key. NOT (~): inverte tutti i bit. Shift left (<<): moltiplica per 2^n. Shift right (>>): divide per 2^n (aritmetica mantiene segno, logica riempie con 0). Esempio: 0b1010 << 2 = 0b101000 = 40; 0b1010 >> 1 = 0b101 = 5.

Complemento a due

Rappresentazione standard degli interi negativi in quasi tutte le CPU moderne. Per N bit il range è [−2^(N−1), 2^(N−1) − 1]. Per negare un numero: invertire tutti i bit e sommare 1. Esempio 8-bit: +5 = 00000101; −5 = 11111011 (inverti 11111010, +1). Il bit più significativo (MSB) è il bit di segno. Vantaggi: addizione e sottrazione unificate (nessun caso speciale); unico zero (positivo); estensione del segno semplice. Usato in int32, int64 di tutti i linguaggi moderni.

Mapping decimale ↔ esadecimale

0-9: stesse cifre. 10=A, 11=B, 12=C, 13=D, 14=E, 15=F. Esempi notevoli: 255 = FF (8-bit max), 256 = 100, 4095 = FFF (12-bit), 65535 = FFFF (16-bit), 16777215 = FFFFFF (24-bit colore RGB), 2147483647 = 7FFFFFFF (INT32_MAX), 4294967295 = FFFFFFFF (UINT32_MAX). Colori web: #FF0000 rosso, #00FF00 verde, #0000FF blu, #FFFFFF bianco, #000000 nero.

Applicazioni pratiche

Programmazione bassa livello (microcontrollori, sistemi embedded, driver); manipolazione registri CPU e periferiche I/O; crittografia (XOR cipher, AES S-box); encoding/decoding (Base64, UTF-8); grafica (colori hex #RRGGBB, shader GPU); networking (indirizzi IP in hex, mask subnet); sistemi operativi (memoria virtuale, page table); debugging (dump di memoria, hex editor); esame di certificazioni (CCNA, LPIC, OCP); contest competitive programming (bitmask DP, XOR tricks, Gray code).

Come usare

Seleziona la modalità: Conversione (numero + base origine + base destinazione → valore), Aritmetica (due numeri binari/hex → somma, sottrazione, prodotto), Bitwise (due numeri → AND, OR, XOR, NOT, shift), Complemento a due (intero con segno + bit width → rappresentazione hex/binaria). Basi supportate: 2, 8, 10, 16.

Sistemi posizionali e perché l'esadecimale in informatica

Ogni sistema di numerazione posizionale rappresenta un numero come somma di cifre moltiplicate per potenze della base: n = Σ dᵢ·bⁱ. Il sistema decimale (base 10) è quello umano, ma i computer usano il binario (base 2) perché i transistor hanno due soli stati stabili, acceso e spento, rappresentabili con 0 e 1. Il binario però è prolisso: il numero 255 richiede otto cifre, 11111111. Qui entra l'esadecimale (base 16, cifre 0-9 e A-F): poiché 16 = 2⁴, ogni cifra esadecimale corrisponde esattamente a 4 bit (un nibble) e due cifre a un byte. Così 11111111 diventa il compatto FF. È il motivo per cui indirizzi di memoria, codici colore web (#RRGGBB) e dump di dati si scrivono in esadecimale. Il sistema ottale (base 8) ebbe grande diffusione nei primi calcolatori e sopravvive nei permessi Unix (chmod 755).

Complemento a due e operazioni bitwise

I numeri negativi nei calcolatori si rappresentano con il complemento a due: per invertire il segno si complementano tutti i bit e si aggiunge 1. Con n bit si coprono i valori da −2ⁿ⁻¹ a 2ⁿ⁻¹−1: su 8 bit l'intervallo è [−128, 127], e il bit più significativo (MSB) funge da segno. Questo schema, adottato universalmente, ha due vantaggi decisivi: esiste un solo zero (evitando il "−0" della rappresentazione in modulo e segno) e l'addizione funziona in modo uniforme per numeri positivi e negativi, semplificando enormemente i circuiti aritmetici. Le operazioni bitwise manipolano i singoli bit: AND estrae maschere, OR imposta bit, XOR li commuta o confronta, NOT li inverte, e gli scorrimenti (shift) moltiplicano o dividono per potenze di 2. Sono alla base di flag, maschere di permessi, crittografia e ottimizzazioni studiate nell'informatica del Politecnico e nei sistemi HPC del Cineca.

Aggiornato a luglio 2026

Domande frequenti

Cos'è il sistema esadecimale?

L'esadecimale è un sistema di numerazione in base 16 che usa le cifre 0-9 e le lettere A-F (dove A=10, B=11, ..., F=15). È usato in informatica perché ogni cifra rappresenta esattamente 4 bit, rendendo compatta la scrittura dei numeri binari: il byte 11111111 diventa FF.

Come si converte da binario a esadecimale?

Si raggruppano i bit a gruppi di quattro partendo da destra e si traduce ogni gruppo in una cifra esadecimale. Per esempio 1011 0110 diventa B6, perché 1011 = B (11) e 0110 = 6. Il metodo funziona perché 16 = 2⁴, quindi ogni nibble di 4 bit corrisponde a una cifra hex.

Perché i computer usano il binario?

Perché i circuiti elettronici si basano su transistor con due soli stati stabili: acceso e spento, tensione alta e bassa. Questi due stati si rappresentano naturalmente con 0 e 1, le cifre del sistema binario. Tutta l'informazione — numeri, testo, immagini — viene codificata come sequenze di bit.

Cos'è il complemento a due?

È il metodo standard per rappresentare i numeri interi negativi nei calcolatori. Per negare un numero si invertono tutti i suoi bit e si aggiunge 1. Con n bit si rappresentano valori da −2ⁿ⁻¹ a 2ⁿ⁻¹−1: su 8 bit da −128 a 127. Il bit più significativo indica il segno.

Perché si usa il complemento a due e non il modulo e segno?

Perché ha due vantaggi: esiste una sola rappresentazione dello zero (nel modulo e segno esistono +0 e −0) e l'addizione funziona in modo identico per numeri positivi e negativi, senza circuiti speciali per la sottrazione. Questo semplifica enormemente l'hardware aritmetico dei processori.

A cosa servono le operazioni bitwise?

Le operazioni bit a bit manipolano i singoli bit di un numero: AND applica maschere (isola bit), OR imposta bit a 1, XOR li commuta o confronta, NOT li inverte, gli shift moltiplicano o dividono per potenze di 2. Sono usate per flag, permessi, grafica, crittografia e ottimizzazioni di basso livello.

Cos'è un nibble e cos'è un byte?

Un nibble è un gruppo di 4 bit, rappresentabile con una singola cifra esadecimale (da 0 a F). Un byte è composto da 8 bit, cioè due nibble, e si scrive con due cifre hex (da 00 a FF). Un byte può assumere 256 valori distinti ed è l'unità base della memoria dei computer.

Formula

Base b: n = Σ dᵢ·b^i ; complemento a due 8-bit: −128 ≤ x ≤ 127

Commenti (0)

Ancora nessun commento. Sii il primo!