Il principio della notazione posizionale
In una base b ogni cifra rappresenta un coefficiente moltiplicato per una potenza di b. In decimale 347 significa 3×10² + 4×10¹ + 7; lo stesso principio vale in binario, ottale ed esadecimale.
Cambiare base non cambia il valore matematico, cambia soltanto la sua rappresentazione. Questa distinzione evita di trattare 0xFF, 255 e 11111111₂ come numeri diversi quando indicano lo stesso intero.
Binario, ottale ed esadecimale
Il binario usa due cifre e corrisponde naturalmente agli stati dei bit. L'ottale raggruppa i bit a tre a tre, mentre l'esadecimale usa gruppi di quattro bit e cifre A-F per i valori da dieci a quindici.
L'esadecimale è particolarmente compatto per byte, indirizzi, maschere e dump: un byte corrisponde esattamente a due cifre hex. L'ottale resta comune in alcuni domini Unix, per esempio nelle notazioni dei permessi.
Convertire senza cambiare significato
Da una base a decimale si può sommare il contributo posizionale delle cifre. Da decimale a un'altra base si possono usare divisioni successive o ragionare per potenze, a seconda che il calcolo sia manuale o implementato in software.
Tra binario e esadecimale la conversione è diretta raggruppando quattro bit. Gli zeri iniziali non cambiano il valore di un intero, ma possono essere importanti quando la rappresentazione ha larghezza fissa.
Segno e complemento a due
Il simbolo meno è una rappresentazione matematica del segno; una sequenza di bit a larghezza fissa può invece essere interpretata come unsigned o signed. Nei sistemi moderni gli interi signed usano quasi sempre il complemento a due.
La stessa sequenza 11111111 vale 255 come unsigned a 8 bit e -1 come signed two's complement. Senza conoscere larghezza e interpretazione non esiste una conversione univoca da pattern di bit a intero con segno.
Overflow e larghezza fissa
Un intero a n bit può rappresentare un insieme finito di valori. Le operazioni hardware spesso mantengono solo gli n bit meno significativi, producendo wrap-around per unsigned o comportamento definito dal linguaggio per signed overflow.
Quando si leggono registri, protocolli o file binari bisogna conoscere bit width, signedness ed endianness. La base usata per stampare il numero non risolve nessuno di questi aspetti.
Usi pratici e best practice
Il binario aiuta a ragionare su maschere e flag; l'hex rende leggibili byte e indirizzi; l'ottale è utile in convenzioni specifiche; il decimale resta naturale per quantità orientate alle persone.
Indica prefissi e base in modo non ambiguo, evita di perdere zeri significativi quando rappresentano una larghezza e separa sempre il valore numerico dalla semantica del campo che lo contiene.