Un codice binario rappresenta testo , istruzioni del processore o altri dati utilizzando un sistema a due simboli. Il sistema a due simboli utilizzato è spesso "0" e "1" nel sistema di numerazione binaria . Il codice binario assegna una combinazione di cifre binarie, chiamate anche bit , a ciascun carattere, istruzione, ecc. Ad esempio, una stringa binaria a otto bit può rappresentare uno qualsiasi dei 256 valori possibili e, quindi, rappresentare un'ampia varietà di elementi diversi.
Nell'informatica e nelle telecomunicazioni, i codici binari vengono utilizzati per vari metodi di codifica dei dati, come stringhe di caratteri , in stringhe di bit. Questi metodi possono utilizzare sia fisso larghezza o variabile larghezza stringhe . In un codice binario a larghezza fissa, ogni lettera, numero o altro carattere è rappresentato da una stringa di bit della stessa lunghezza; questa stringa di bit, interpretata come un numero binario , viene in genere visualizzata nelle tabelle di codici in notazione ottale , decimale o esadecimale . Ci sono molti set di caratteri e molte codifiche di caratteri per loro.
Una stringa di bit , interpretata come un numero binario, può essere tradotta in un numero decimale . Ad esempio, la lettera minuscola a , se rappresentata dalla stringa di bit 01100001(come nel codice ASCII standard), può essere rappresentata anche dal numero decimale "97".
Il moderno sistema di numeri binari, la base del codice binario, fu inventato da Gottfried Leibniz nel 1689 e compare nel suo articolo Spiegazione dell'aritmetica binaria nel 1703.
Il titolo completo è "Spiegazione dell'aritmetica binaria, che utilizza solo i caratteri O e I con osservazioni sulla sua utilità e su come dà il significato alle antiche figure cinesi di Fohy ". Il sistema di Leibniz usa 0 e 1, come il moderno sistema di numeri binari.
Leibniz scoprì Yi Jing attraverso il gesuita francese Joachim Bouvet e notò con fascino come i suoi esagrammi corrispondessero ai numeri binari 0-111111 e concluse che questa mappatura era la prova dei principali risultati della Cina nel campo della matematica filosofica che ammirava. Leibniz vedeva negli esagrammi un'affermazione dell'universalità del proprio credo religioso.
I numeri binari erano al centro della teologia di Leibniz. Credeva che i numeri binari fossero il simbolo dell'idea cristiana di creatio ex nihilo o creazione dal nulla. Leibniz stava cercando di trovare un sistema che converte le affermazioni verbali dalla logica in un sistema puramente matematico. Dopo che le sue idee furono ignorate, scoprì un testo cinese classico chiamato Yi Jing o "Libro dei cambiamenti", che utilizzava un tipo di codice binario. Il libro aveva confermato la sua teoria secondo cui la vita poteva essere semplificata o ridotta a una serie di semplici proposizioni.
Ha creato un sistema composto da linee di zero e uno. Durante questo periodo, Leibniz non aveva ancora trovato un impiego per questo sistema.
Anche i sistemi binari prima di Leibniz esistevano nel mondo antico. L' Yi Jing ha detto che Leibniz ha scoperto risale al IX ° secolo aC. AD in Cina. Il sistema binario di Yi Jing , un testo dedicato alla divinazione, si basa sulla dualità di yin e yang . I tamburi a fessura con suoni binari sono stati utilizzati per codificare i messaggi in Africa e in Asia. Lo studioso indiano Pingala (circa V ° - II TH secolo . AC ) ha sviluppato un sistema binario per descrivere la prosodia nella sua Chandashutram .
Gli abitanti dell 'isola di Mangareva in Polinesia Francese con un sistema ibrido decimale, binario prima del 1450 l' XI ° secolo, lo studioso e filosofo Shao Yong ha sviluppato un metodo per organizzare le esagrammi, che è, però involontariamente, la sequenza da 0 a 63, rappresentato in binario, con yin come 0, yang come 1 e il bit meno significativo in alto. L'ordine è anche l' ordine lessicografico delle sestuple di elementi scelti da un insieme di due elementi.
Nel 1605, Francis Bacon discusse un sistema in base al quale le lettere dell'alfabeto potevano essere ridotte a sequenze di cifre binarie, che potevano quindi essere codificate come variazioni di carattere appena visibili in qualsiasi testo. È importante sottolineare che per quanto riguarda la teoria generale della codifica binaria, ha aggiunto che questo metodo potrebbe essere utilizzato con qualsiasi oggetto: "a condizione che questi oggetti siano capaci solo di una doppia differenza; come con campane, trombe, luci, torce, moschetti e tutti simili strumenti ".
Nel 1847, George Boole pubblicò un articolo intitolato "The Mathematical Analysis of Logic" che descrive un sistema algebrico di logica, ora chiamato algebra di Boole . Il sistema di Boole era basato su un approccio binario, sì-no, on-off che includeva le tre operazioni più basilari: AND, OR e NO. Questo sistema non è stato utilizzato ed è stato dimenticato fino a quando uno studente laureato del Massachusetts Institute of Technology , Claude Shannon , si è reso conto che l'algebra booleana che aveva imparato era come un circuito elettrico. Shannon scrisse la sua tesi nel 1937, che implementò le sue scoperte. La tesi di Shannon è diventata un punto di partenza per l'uso del codice binario in applicazioni pratiche come computer, circuiti elettrici, ecc.
La stringa di bit non è l'unico tipo di codice binario. In generale, un sistema binario è un sistema che consente solo due scelte, come un interruttore in un sistema elettronico o un semplice test vero o falso.
Il braille è un tipo di codice binario ampiamente utilizzato dai non vedenti per leggere e scrivere al tatto, dal nome del suo creatore, Louis Braille. Questo sistema è costituito da griglie di sei punti ciascuna, tre per colonna, in cui ogni punto ha due stati: alto o non alto. Le diverse combinazioni di punti in rilievo e appiattiti sono in grado di rappresentare qualsiasi lettera, numero e segno di punteggiatura.
I bagua sono diagrammi usati negli studi sul feng shui , sulla cosmologia taoista e sull'I Ching . Il ba gua è composto da 8 trigrammi; bā che significa 8 e guà che significa figura di divinazione. La stessa parola è usata per i 64 guà (esagrammi). Ogni figura combina tre linee ( yáo ) che sono interrotte ( yin ) o ininterrotte ( yang ). Le relazioni tra i trigrammi sono rappresentate in due arrangiamenti: il bagua primordiale, "Il cielo più antico" o "Fuxi", e il bagua manifestato, "Il cielo successivo" o "Re Wen" . (Vedi anche la sequenza di 64 esagrammi di Re Wen ).
Il codice ASCII (ascii) utilizza un codice binario a 7 bit per rappresentare il testo e altri caratteri nei computer, nelle apparecchiature di comunicazione e in altri dispositivi. A ogni lettera o simbolo viene assegnato un numero compreso tra 0 e 127. Ad esempio, la "a" minuscola è rappresentata da 1100001una stringa di bit ("97" in decimale).
Il decimale codificato in binario (BCD) è un numero intero codificato in rappresentazione binaria utilizzando un nibble di 4 bit per codificare le cifre decimali. Quattro bit binari possono codificare fino a 16 valori distinti; ma, nei numeri codificati DCB, solo i primi dieci valori di ogni bocconcino sono legali e codificano zero cifre decimali da zero a nove. I restanti sei valori sono illegali e possono causare un'eccezione del computer o un comportamento non specificato, a seconda dell'implementazione del computer dell'aritmetica DCB.
L'aritmetica DCB è talvolta preferita ai formati numerici in virgola mobile nelle applicazioni aziendali e finanziarie in cui il complesso comportamento di arrotondamento dei numeri in virgola mobile è inappropriato.
La maggior parte dei computer moderni utilizza la codifica binaria per istruzioni e dati. CD , DVD e dischi Blu-ray rappresentano audio e video digitalmente in forma binaria. Le chiamate telefoniche vengono instradate digitalmente su reti di lunga distanza e di reti mobili utilizzando la modulazione mediante impulsi codificati , nonché le reti VoIP .
Il peso di un codice binario, come definito nella tabella dei codici a peso costante, è il peso di Hamming delle parole binarie che codificano le parole o le sequenze rappresentate.