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.
Segnala un errore di calcolo
Aiutaci a migliorare. Descrivi cosa non torna nel calcolo.
Risultato
| Voce | Valore |
|---|
Mostra dettagli completi
Condividi risultato
Disclaimer: questo calcolo ha valore puramente indicativo. Per decisioni importanti, consulta un professionista qualificato.
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?
Come si converte da binario a esadecimale?
Perché i computer usano il binario?
Cos'è il complemento a due?
Perché si usa il complemento a due e non il modulo e segno?
A cosa servono le operazioni bitwise?
Cos'è un nibble e cos'è un byte?
Formula
Base b: n = Σ dᵢ·b^i ; complemento a due 8-bit: −128 ≤ x ≤ 127
Commenti (0)
Accedi per lasciare un commento.
Ancora nessun commento. Sii il primo!