Calcolatore binario
eseguire addizione, sottrazione, moltiplicazione e divisione binarie. convertire tra binario e decimale. calcolatrice matematica gratuita. ottenere risultati immediati ora.
Il sistema binario: come contano i computer
Il sistema di numeri binari (base-2) usa solo due cifre - 0 e 1 - chiamate bit (cifre binarie). Ogni computer, smartphone e dispositivo digitale memorizza e elabora internamente tutte le informazioni in binario, perché i circuiti elettrici possono rappresentare in modo affidabile due stati distinti: alta tensione (1) e bassa tensione (0).
Ogni posizione in un numero binario rappresenta una potenza di 2, che aumenta da destra a sinistra:
| Posizione | 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|---|
| Valore | Articolo 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Conversione binaria in decimale:Moltiplica ogni bit per il suo valore di posizione e somma tutti i risultati.
Esempio:101101012= 1x128 + 0x64 + 1x32 + 1x16 + 0x8 + 1x4 + 0x2 + 1x1 = 128 + 32 + 16 + 4 + 1 =Articolo 181
Conversione da decimale a binario:Dividere ripetutamente per 2, registrando il residuo ad ogni passo, quindi leggere i residui dal basso verso l'alto.
Esempio: convertire 181 in codice binario:
- 181 ÷ 2 = 90 residuo1
- 90 ÷ 2 = 45 restante0
- 45 ÷ 2 = 22 restante1
- 22 ÷ 2 = 11 residuo0
- 11 ÷ 2 = 5 residuo1
- 5 ÷ 2 = 2 restante1
- 2 ÷ 2 = 1 residuo0
- 1 ÷ 2 = 0 residuo1
Leggi il resto dal basso verso l' alto:101101012 ✓
Aritmetica binaria: addizione, sottrazione e moltiplicazione
L'aritmetica binaria segue le stesse regole del decimale, ma i portamenti avvengono a 2 invece di 10.
Regole di addizione binaria:0+0=0, 0+1=1, 1+0=1, 1+1=10 (carry 1), 1+1+1=11 (carry 1)
Esempio: 10112 + 11012 (11 + 13 = 24)
1011 + 1101 ------ 11000
Lavorando da destra a sinistra: 1+1=10 (scrivi 0, porta 1); 1+0+1=10 (scrivi 0, porta 1); 0+1+1=10 (scrivi 0, porta 1); 1+1+1=11 (scrivi 1, porta 1); porta finale scrive 1. Risultato: 110002 = 24
Complemento di due (sottrazione binaria):I computer gestiscono i numeri negativi e la sottrazione usando la rappresentazione del complemento di due. Per trovare il complemento di due di un numero: invertire tutti i bit, quindi aggiungere 1.
Esempio: -13 in complemento di 8 bit due: +13 = 000011012 -> girare tutti i bit -> 111100102 -> aggiungere 1 ->111100112 di cui all'allegato II
Ciò consente di eseguire la sottrazione come addizione: 20 - 13 = 20 + (-13).
Moltiplicazione binariaè elegante: ogni prodotto parziale è 0 (moltiplicato per 0) o il numero stesso (moltiplicato per 1), spostato a sinistra. Esempio: 10112 x 1012 (11 x 5 = 55):
1011 x 101 ----- 1011 (1011 x 1) 0000 (1011 x 0, spostato) 1011 (1011 x 1, spostato due volte) ------- 1101112 = 55
Il binario in informatica: bit, byte e dimensioni dei dati
La comprensione delle unità binarie è essenziale per chiunque lavori con computer, storage o velocità di rete:
| Unità | Dimensione | Valore massimo (non firmato) | Uso comune |
|---|---|---|---|
| Un po' | 1 cifra binaria | 1 | Bandiera booleana, valore binario singolo |
| Mangiare | 4 bit | 15 (esagonale: F) | Una cifra esadecimale |
| Oggetto | 8 bit | Articolo 255 | Carattere singolo (ASCII), canale colore |
| Parola | 16 bit | 65.535 | Sistemi legacy a 16 bit, Unicode base |
| Parola doppia (DWORD) | 32 bit | 4.294.967.295 | Numeri interi a 32 bit, indirizzi IPv4 |
| Quad Word (QWORD) | 64 bit | 18.446.744.073.709.551.615 | Moderni numeri interi, puntatori, timestamp |
Valori di colore:I colori Web utilizzano 24-bit RGB (8 bit per canale). #FF5733 = R:255, G:87, B:51. Ogni canale a 8 bit può rappresentare 256 sfumature (0 - 255). Colori totali possibili: 2563 =16.777.216(circa 16,7 milioni).
Autorizzazioni dei file in Unix/Linux:rwxr-xr-- = 111 101 100 in binario = 7, 5, 4 in ottale = chmod 754. Ogni insieme di 3 bit rappresenta leggi (r=4), scrivi (w=2) ed esegui (x=1) autorizzazioni per proprietario, gruppo e altri.
Operazioni bitwise e le loro applicazioni
Le operazioni bitwise manipolano singoli bit all'interno di numeri interi. Sono fondamentali per la programmazione a basso livello, la crittografia, la programmazione di rete e il codice critico alle prestazioni.
| Funzionamento | Simbolo | Comportamento | Esempio |
|---|---|---|---|
| E | & | 1 se entrambi i bit sono 1 | 1010 e 1100 = 1000 |
| OR | | | 1 se QUALSIASI bit è 1 | 1010 -- 1100 = 1110 |
| XOR | ^ | 1 se i bit sono DIFERENTI | 1010 ^ 1100 = 0110 |
| Non | ~ | Invertire tutti i bit | ~1010 = 0101 |
| Spostamento a sinistra | << | Bits di spostamento a sinistra (x2 per ogni spostamento) | 1011 << 1 = 10110 (x2) |
| Spostamento a destra | >> | Bits di spostamento a destra (÷2 per ogni spostamento) | 1011 >> 1 = 0101 (÷2) |
Applicazioni pratiche:
- Mascheramento dei bit:Controllare se un bit specifico è impostato:
if (flags & 0b0100) { ... }-- controlla se il bit 2 è 1. - Mettere un po ':
flags = flags | 0b0100-- imposta bit 2 a 1 indipendentemente dal valore corrente. - Per chiarire un po ':
flags = flags & ~0b0100-- cancella bit 2 a 0. - Moltiplicazione/divisione rapida per potenze di 2:
n << 3= n x 8;n >> 2Gli spostamenti di bit sono operazioni a livello di CPU, significativamente più veloci della moltiplicazione. - Controllo pari/pari:
if (n & 1) { /* odd */ }-- l'ultimo bit di qualsiasi numero dispari è sempre 1.
Confronto dei sistemi numerici: binario, ottale, decimale, esadecimale
L'informatica utilizza quattro sistemi numerici, ciascuno adatto a contesti diversi:
| Sistema | Base | Cifre | Uso comune |
|---|---|---|---|
| Binario (base-2) | 2 | 0, 1 | Operazioni della CPU, memorizzazione, logica |
| Octal (base-8) | 8 | 0 - 7 | Autorizzazioni di file Unix, sistemi precedenti |
| Decimale (base 10) | 10 | 0 - 9 | Numeri leggibili dall'uomo |
| Esadecimale (base-16) | 16 | 0 - 9, A - F | Indirizzi di memoria, codici di colore, codice della macchina |
Conversione rapida: binario <-> esagonale(4 cifre binarie = 1 cifra esadecimale):
| Sistema binario | Hex . | Numero decimale | Sistema binario | Hex . | Numero decimale |
|---|---|---|---|---|---|
| 0000 e 0000 | 0 | 0 | 1000 unità | 8 | 8 |
| 0001 | 1 | 1 | 1001 e 1002 | 9 | 9 |
| 0010 | 2 | 2 | 10 10 | A | 10 |
| 0011 | 3 | 3 | 1011 - Codice | B | 11 |
| 0100 - Altri prodotti | 4 | 4 | 11 00 | C | 12 |
| 0101 - Altri prodotti | 5 | 5 | Articolo 1101 | D | 13 |
| 0110 | 6 | 6 | 1110 e 1110 | E | 14 |
| 0111 | 7 | 7 | 1111 | F | 15 |
Questo raggruppamento a 4 bit rende l'esagono estremamente utile come notazione compatta per i dati binari: il valore a 32 bit11001010 00111111 10110101 00001100è molto più facile da scrivere comeCA3FB50C.
Binario in rete: indirizzi IP e maschere di sottorete
Comprendere il binario è essenziale per l'ingegneria di rete perché gli indirizzi IPv4 sono fondamentalmente numeri binari a 32 bit, e la subnet -- il processo di divisione delle reti -- si basa interamente su operazioni binarie.
Un indirizzo IPv4 come192.168.1.100è la notazione leggibile dall'uomo per il valore binario a 32 bit:
11000000.10101000.00000001.01100100
A maschera di sottoretedetermina quale parte dell'indirizzo identifica la rete e quale identifica l'host. La maschera 255.255.255.0 in binario è:
11111111.11111111.11111111.00000000
Il bitwise AND dell'indirizzo IP e della maschera di sottorete fornisce l'indirizzo di rete:
| Componente | Numero decimale | Sistema binario |
|---|---|---|
| Indirizzo IP | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| Maschera di sottorete | 255.255.255.0 | 11111111111111111111111111 |
| Rete (AND) | 192.168.1.0 | 11000000.10101000.00000001.00000000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
La notazione CIDR (ad esempio, /24) ti dice quanti 1-bit principali ci sono nella maschera di sottorete. Una maschera /24 ha 24 uno seguiti da 8 zeri, consentendo 28 - 2 = 254 indirizzi host utilizzabili per sottorete. Una maschera /16 consente 65.534 host. Gli ingegneri di rete usano la matematica mentale binaria quotidianamente per pianificare le sottoreti, calcolare gli indirizzi di trasmissione e risolvere i problemi di routing.
Il binario in crittografia e sicurezza
I moderni algoritmi di crittografia operano interamente a livello binario, manipolando singoli bit attraverso combinazioni di XOR, spostamenti di bit e operazioni di sostituzione.
Crittografia XOR (la base dei moderni cifrari):XOR ha una proprietà unica - applicandolo due volte con la stessa chiave restituisce il valore originale: A K K = A. Questo rende XOR la base dei codici a flusso e dei pad una tantum.
Esempio: crittografia del byte 01001101 (lettera "M" in ASCII) con la chiave 10110010:
- testo in chiaro: 01001101
- Codice: 10110010
- XOR (crittografato): 11111111
- XOR di nuovo con la stessa chiave (decodifica): 01001101 = "M"
Dimensioni della chiave nella crittografia moderna:AES-128 utilizza una chiave a 128 bit, il che significa che ci sono 2128 ~ 3.4 x 1038 chiavi possibili - più del numero di atomi nell'universo osservabile. AES-256 utilizza chiavi a 256 bit con 2256 possibilità. Anche i supercomputer più veloci non possono forzare brutalmente questi spazi chiave. Ogni bit aggiuntivo raddoppia lo spazio di ricerca, motivo per cui la lunghezza della chiave conta esponenzialmente nella crittografia.
Funzioni hash come SHA-256 producono un output binario di 256 bit (32 byte) da qualsiasi input. Anche un singolo cambiamento di bit nell'input produce un hash completamente diverso - una proprietà chiamata "effetto valanga" che rende gli hash utili per verificare l'integrità dei dati, memorizzare password e alimentare la tecnologia blockchain.
Calcolo binario e quantistico:Mentre i computer classici usano bit binari (0 o 1), i computer quantistici usano qubit che possono esistere in una sovrapposizione di entrambi gli stati contemporaneamente. Una chiave 256-bit classica ha 2256 valori possibili che devono essere controllati sequenzialmente; un computer quantistico che esegue l'algoritmo di Grover potrebbe cercare questo spazio in √ ((2256) = 2128 operazioni. Questo è il motivo per cui la crittografia post-quantistica viene sviluppata - per creare schemi di crittografia basati su binari che rimangono sicuri anche contro gli avversari quantistici.
Domande frequenti
Perché i computer usano il binario invece del decimale?
I circuiti elettronici sono più affidabili con solo due stati distinti: on (alta tensione ~ 1) e off (bassa tensione ~ 0). La rappresentazione di 10 stati distinti per decimale richiederebbe un controllo della tensione molto più preciso e sarebbe molto più suscettibile al rumore elettrico. La semplicità del binario consente a miliardi di transistor di operare in modo affidabile a velocità di GHz con miliardi di operazioni al secondo.
Qual è il numero più grande che un byte può contenere?
Un byte (8 bit) può rappresentare 28 = 256 valori diversi. Per gli interi senza segno: da 0 a 255. Per gli interi con segno (complemento di due): -128 a 127. Il valore massimo di byte senza segno in binario è 111111112 = 255; in esagonale è FF.
Come si converte un numero negativo in binario?
Usare il complemento di due: (1) Convertire la versione positiva in binaria, (2) Invertire tutti i bit (0->1, 1->0), (3) Aggiungere 1. Esempio: -13 in 8-bit: +13 = 000011012, invertire bit = 111100102, aggiungere 1 = 111100112. Questo è il modo in cui tutti i computer moderni memorizzano gli interi negativi.
Qual è la differenza tra binario ed esadecimale?
Entrambi sono sistemi numerici posizionali utilizzati nel calcolo. Il binario (base-2) usa solo 0 e 1 - il linguaggio nativo dei computer. L'esadecimale (base-16) usa 0 - 9 e A - F come notazione compatta per il binario - ogni 4 cifre binarie corrispondono esattamente a 1 cifra esagonale. L'esagonale è usato per indirizzi di memoria, codici di colore (#RRGGBB) e codice macchina perché è più compatto e leggibile del binario grezzo.
A cosa servono le operazioni bitwise?
Le operazioni bitwise (AND, OR, XOR, NOT, shifts) manipolano singoli bit all'interno di numeri interi. Utilizzi comuni: flag e autorizzazioni di bit (Unix chmod), controllo pari / dispari (n & 1), rapida moltiplicazione / divisione per potenze di 2 (bit shifting), algoritmi di crittografia, funzioni hash, rilevamento di errori CRC, maschere di sottorete di rete e sviluppo di giochi (archiviazione di stato compatto in un singolo intero).
Cos'è il punto mobile binario e perché 0.1 + 0.2 ≠ 0.3 nella programmazione?
La maggior parte dei computer moderni utilizza il binario a virgola mobile IEEE 754, che rappresenta le frazioni decimali in binario. Proprio come 1/3 = 0.3333... non può essere rappresentato esattamente in decimale, 1/10 non può essere rappresentato esattamente in binario (è una frazione binaria che si ripete all'infinito). Questo provoca piccoli errori di arrotondamento: nella maggior parte delle lingue, 0.1 + 0.2 = 0.30000000000000004.
Come viene utilizzato il binario per l'archiviazione dei dati e le dimensioni dei file?
Lo spazio di archiviazione viene misurato in byte (8 bit), kilobyte (1.024 byte), megabyte (1.024 KB), gigabyte (1.024 MB), ecc. Nota: i produttori di dischi rigidi utilizzano prefissi SI (1 KB = 1.000 byte) mentre i sistemi operativi utilizzano prefissi binari (1 KiB = 1.024 byte), causando l'apparente discrepanza "spazio mancante" quando si acquista spazio di archiviazione.
Che cos'è il decimale binario codificato (BCD)?
BCD codifica ogni cifra decimale come un gruppo binario a 4 bit: 0=0000, 1=0001, ..., 9=1001. Quindi il decimale 93 in BCD è 1001 0011. BCD viene utilizzato nei sistemi finanziari (evita errori di arrotondamento a virgola mobile), orologi e display digitali (i display a 7 segmenti decodificano direttamente BCD) e vecchi sistemi mainframe. È meno efficiente nello spazio rispetto al binario puro, ma elimina gli errori di conversione da decimale a binario in applicazioni critiche.