La risposta breve
Il binario è in base 2: ogni cifra (bit) è 0 o 1 e ogni posizione rappresenta una potenza di due. 1010 in binario equivale a 1×8 + 0×4 + 1×2 + 0×1 = 10 in decimale. Questa calcolatrice gestisce l'aritmetica binaria, la logica bit a bit (AND, OR, XOR, NOT), gli spostamenti di bit e la conversione istantanea in decimale, esadecimale e ottale.
Punti chiave
- I valori sono limitati all'intervallo di numeri interi con segno a 32 bit (da -2.147.483.648 a 2.147.483.647): le stringhe binarie al di fuori di tale intervallo vengono rifiutate anziché troncate silenziosamente.
- AND/OR/XOR bit a bit confronta i numeri bit per bit e non equivale a un'addizione o moltiplicazione aritmetica: 1010 AND 0110 equivale a 0010, non a 16.
- Uno spostamento a sinistra di n equivale a moltiplicare per 2ⁿ; uno spostamento a destra di n equivale alla divisione intera (piano) per 2ⁿ.
- Ogni cifra esadecimale corrisponde esattamente a 4 bit binari, il che rende meccanica la conversione da esadecimale a binario una volta conosciuti i 16 modelli a quattro bit.
Come funziona il valore posizionale binario
Proprio come il valore decimale utilizza potenze di dieci, il valore binario utilizza potenze di due. Leggendo il numero a 8 bit 10110101 da destra a sinistra:
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
Somma i valori di posizione dove c'è 1: 128 + 32 + 16 + 4 + 1 = 181. Quindi il binario 10110101 equivale al decimale 181.
Operazioni bit a bit e operazioni aritmetiche
| Operazione | Cosa fa | Esempio |
|---|---|---|
| AND (&) | 1 solo dove entrambi i bit sono 1 | 1010 & 0110 = 0010 |
| OR (|) | 1 dove uno dei due bit è 1 | 1010 | 0110 = 1110 |
| XOR (^) | 1 dove i bit differiscono | 1010 ^ 0110 = 1100 |
| Spostamento a sinistra (<<) | Sposta i bit a sinistra, riempi con 0 (×2ⁿ) | 0011 << 2 = 1100 |
| Shift a destra (>>) | Sposta i bit a destra (÷2ⁿ, arrotondato per difetto) | 1100 >> 2 = 0011 |
Le operazioni bit a bit confrontano o spostano singoli bit: non trasportano tra le posizioni come fa l'addizione, motivo per cui 1010 AND 0110 finisce su 0010 invece che su qualcosa che assomigli a una somma.
Errori comuni da evitare
- Trattando AND/OR bit per bit come se fossero addizioni o moltiplicazioni aritmetiche: funzionano bit per bit senza riporto.
- Dimenticando il limite di intervallo con segno a 32 bit: una stringa binaria con più di 31 unità supererà l'intervallo supportato e restituirà un errore.
- Aspettandosi che NOT bit a bit si limiti a capovolgere le cifre stampate: nella rappresentazione in complemento a due, NOT un numero positivo ne produce uno negativo, non una semplice inversione di cifre.
- Supponendo lo spostamento a destra, tronca (piani) verso l'infinito negativo per i numeri negativi, quindi 7 >> 1 = 3, non 3,5 o 4.
Calcolatori correlati
- Calcolatore esadecimale — funziona direttamente in esadecimale con le stesse conversioni e operazioni.
- Calcolatore dell'esponente — controlla le potenze di due dietro ogni posizione e spostamento di bit.
- Calcolatore di grandi numeri — andare oltre l'intervallo di 32 bit con aritmetica a precisione arbitraria.
- Calcolatrice scientifica — gestire la matematica generale oltre alle conversioni in base numerica.