El sistema binari és un sistema de numeració en el qual tots els nombres es representen utilitzant com a base dues xifres: zero i un (0 i 1). En altres paraules, és un sistema de numeració de base 2, mentre que el sistema que utilitzem més habitualment és de base 10, o decimal.
Si el sistema decimal treballa amb deu xifres (0,1,2,3,4,5,6,7,8,9), el sistema octal o de base vuit treballaria amb vuit (0,1,2,3,4,5,6,7). El sistema binari, o de base dos, només n'utilitza dos (0 i 1).
Aquest sistema és un dels més coneguts ja que l'ordinador l'utilitza.
Història del codi binari
El sistema de numeració binari actual va ser ideat per Gottfried Leibniz al 1679,[1] apareix al seu article «Explication de l'Arithmétique Binaire» fet del 1703. Anteriorment, han anat aparegut diversos sistemes relacionats amb nombres binaris en cultures com l'egípcia, la xinesa o l'índia. Leibniz fou inspirat especialment pel xinès Yi Jing.
Egipte
Els mestres de l'antic Egipte utilitzaren dos tipologies de sistemes per dur a terme les seves fraccions, per una banda les fraccions egípcies (no relacionades amb el sistema de numeració binari) i les fraccions del Horus-Eye (anomenades així perquè molts historiadors de la matemàtica creuen que els símbols que s'utilitzen per aquest sistema podrien estar disposats per formar l'ull d'Horus, encara que això ha estat qüestionat). Les fraccions Horus-Eye formen un sistema de numeració binari per a quantitats fraccionàries de líquids o altres mesures, en la qual una fracció de hekat s'expressa com la suma de les fraccions binàries 1/2, 1/4, 1/8, 1 / 16, 1/32 i 1/64. Les formes primerenques d'aquest sistema es poden trobar en els documents de la V dinastia d'Egipte, aproximadament datada de l'any 2400 aC, i les seves dates completament ja desenvolupades en forma de jeroglífics a la IX dinastia d'Egipte, aproximadament datada del 1200 aC.[2]
El mètode utilitzat per a la multiplicació de l'antic Egipte, està estretament relacionat amb nombres binaris. En aquest mètode, la multiplicació d'un nombre per un segon nombre es porta a terme mitjançant una seqüència de successos en què un valor (inicialment el primer dels dos nombres) o bé es duplica o té el primer nombre afegit de nou en ell mateix; l'ordre en què aquests passos han de ser realitzats ve donat per la representació binària del segon nombre. Aquest mètode el trobem en ús en aspectes com per exemple, el papir matemàtic de Rhind, que data aproximadament de l'any 1650 aC.[3]
Xina
El I Ching data del segle IX aC a la Xina.[4] La nomenclatura binària que trobem en el I Ching fou utilitzada per interpretar la seva tècnica d'endevinació quaternària.[5]
Aquesta es basa en la dualitat taoista del yin i el yang.[6] Vuit trigrames (Bagua) i un conjunt de 64 hexagrames ("seixanta-quatre" gua), que són anàlegs als binaris de tres bits i de sis bits els trobem ja en utilització durant la dinastia Zhou de l'antiga Xina.
L'erudit contemporani Shao Yong va reorganitzar els hexagrames en un format que s'assembla als nombres binaris actuals, tot i que no preveure la seva utilització matemàtica.[7]
Índia
L'Indi Pingala (Segle ll aC) desenvolupà un sistema binari per a descriure la prosòdia (mètrica poética).[8][9] Va usà nombres binaris en forma de síl·labes curtes i llargues (aquesta última de longitud igual a dues síl·labes curtes), el que és similar al codi Morse.[10][11] El clàssic Hindú de Pingala titulat Chandaḥśāstra descriu la formació d'una matriu mare per tal de donar un valor únic a cada mesurador. Les representacions binàries en el sistema de Pingala augmenten cap a la dreta, i no en direcció cap a l'esquerra com en els nombres binaris de la notació posicional actual d'occident.[10][12]
Altres cultures
Els habitant de l'illa de Mangareva a la Polinèsia Francesa ja usaven un sistema híbrid binari-decimal abans del 1450.[13] També, a l'Àfrica i la Xina, s'usaven els tambors de fenedura per representar sons binaris i poder codificar així missatges. Altres conjunts de combinacions binàries similars a la I Ching foren usades en els sistemes d'endevinació africans tradicionals com la Ifá, així com en la geomància occidental de l'edat mitjana. Els sistemes de base 2 utilitzats en la geomància s'han aplicat al llarg de tot el territori de l'Àfrica subsahariana.
Predecessors occidentals a Leibniz
Al 1605Francis Bacon va parlar d'un sistema pel qual les lletres es podien transformar en seqüències de dígits binaris, les quals podien ser codificades com a variacions amb prou feines visibles en la font de qualsevol text arbitrari.[14]
Leibniz i el I Ching
L'article que elaborà Leibniz al 1703, té com a títol " Explanation of Binary Arithmetic, which uses only the characters 1 and 0, with some remarks on its usefulness, and on the light it throws on the ancient Chinese figures of Fu Xi ". El sistema de Leibniz utilitza 0 i 1, de la mateixa manera que el sistema de numeració binari actual. Un exemple de sistema de numeració binària de Leibniz és la següent:[15]
0 0 0 1 valor numèric 20
0 0 1 0 valor numèric 2¹
0 1 0 0 valor numèric 2²
1 0 0 0 valor numèric 23
Leibniz va interpretar els hexagrames del I Ching com a evidència de càlcul binari.[16] Leibniz era conscient del I Ching, i va observar amb fascinació com els seus hexagrames corresponen als nombres binaris del 0 fins al 111111 i va arribar a la conclusió que aquesta assignació era evidència d'un dels èxits més importants de la Xina de la branca de les matemàtiques que ell més admirava.[17] Leibniz es va introduir primer en el I Ching a través d'un contacte seu, el jesuïta francès Joachim Bouvet, que va visitar la Xina al 1685 com a missioner. Leibniz va veure els hexagrames del I Ching com una afirmació de la universalitat metafísica de les seves pròpies creences religioses com a cristià. Els nombres binaris foren una peça clau en la teologia de Leibniz. Es creu que els nombres binaris eren simbòlics a la idea cristiana de la creatio ex nihilo (creació del no res).[18]
"Un concepte que no és fàcil per impartir als pagans, és la creació ex nihilo a través de l'omnipotència de Déu. Ara es pot dir que res en el món es pot presentar i demostrar de millor manera que el poder de l'origen dels nombres, tal com es presenta aquí a través de la presentació senzilla i sense ornaments d'Un i Zero o Res"
L'any 1854, el matemàtic britànic George Boole publicà un article de referència que detallava un sistema algebraic de la lógica, que més tard seria conegut com l'àlgebra de Boole. El seu càlcul lògic consistia en convertir-se en un paper decisiu en el disseny de circuits electrònics digitals.[19]
El novembre de 1937, George Stibitz, que llavors treballava als Laboratoris Bell, va crear un ordinador basat en relés anomenat el «Model K», que va calcular en usar la suma binària. Bell Laboratoris van autoritzar un programa d'investigació complet a la fi de l'any 1938 amb Stibitz al timó. El Complex Number Calculator, acabat un 8 de gener del 1940, fou capaç de calcular nombres complexos. En una demostració a la conferència de la Societat Americana de Matemàtiques en el Dartmouth College durant l'11 de setembre de 1940, Stibitz va ser capaç d'enviar ordres remotes de la calculadora de nombres complexos a través de línies telefòniques per un teletip. Va ser la primera màquina de computació que va ser usada de forma remota a través d'una línia telefònica. Alguns dels participants de la conferència que van ser testimonis de la demostració foren John von Neumann, John Mauchly i Norbert Wiener, que acabaren escrivint sobre Stibitz a les seves respectives memòries.[21][22][23]
Donat un nombre N, binari, per a expressar-lo en decimal, s'ha d'escriure cada xifra que el compon (bit), multiplicada per la base del sistema (base = 2), elevada a la posició que ocupa.
Així, si volem sumar 100110101 més 11010101, tenim:
100110101
11010101
----------
1000001010
Operem com en decimal: comencem a sumar des de la dreta, en el nostre exemple, 1+1=10, aleshores escrivim 0 i "en portem" 1. Es suma aquest 1 a la següent columna: 1+0+0=1, i seguim fins a acabar totes les columnes (exactament com en el càlcul decimal).
Multiplicació
Per multiplicar dos nombres en representació binària ho farem de forma similar a com ho fem en representació decimal, tenint en compte que només hi ha dos dígits i que els seus productes són com segueixen:
0×0=0
0×1=0
1×0=0
1×1=1
D'acord amb això, per multiplicar dos nombres A i B considerem productes parcials: per cada dígit de B prenem el seu producte amb A i l'escrivim en una nova línia desplaçat cap a l'esquerra de manera que el darrer dígit (el més a la dreta) coincideixi amb aquell que estam considerant de B. La suma de tots aquests productes parcials dona el resultat final.
Per exemple, per multiplicar els nombres binaris 1100 i 1101 ho farem com segueix. En aquesta multiplicació anomenam A al primer nombre (1100, que correspon a 12 en decimal) i B al segon (1101, que correspon a 13 en decimal):
1 1 0 0 (A)
× 1 1 0 1 (B)
---------
1 1 0 0 ← Correspon a l'1 en el nombre B
+ 0 0 0 0 ← Correspon al 0 en el nombre B
+ 1 1 0 0
+ 1 1 0 0
-----------------
= 1 0 0 1 1 1 0 0
La divisió en binari és similar a la decimal, l'única diferència és que a l'hora de fer les restes, dins de la divisió, aquestes han de ser realitzades en binari. Per exemple, dividirem 100010010 (274) entre 1101 (13):
S'expressa un valor emprant tants bits com sigui necessaris de dreta a esquerra. És a dir, per representar el nombre decimal 30 empraríem el 11110, on per a convertir-ho a decimal seria 24·1 + 23·1 + 2²·1 + 2¹·1 + 20·0 = 16 + 8 + 4 + 2 = 30.
Binari BCD Natural
Amb aquest codi expressem cada un dels dígits decimals en binari per separat. Per tant necessitem representar del 0 al 9, i per a fer-ho necessitem 4 bits, car 23 només ens deixa representar 8 valors, de 0 a 7. Així doncs el 10 seria el 0001 0000.
Complement a 2 (CA2)
Aquest codi és per a representar dígits amb signe, amb l'avantatge de què es guanya la representació d'un nombre més negatiu. Per a escriure'l la part positiva va precedida d'un 0 i té igual representació que en binari natural. En canvi els nombres negatius es representen fent l'invers del valor en positiu i sumant-hi un 1.
El bit de més pes representa el signe, 0 per a positius i 1 per a negatius, el seu valor és expressat en binari natural per la resta de bits.
Codi Gray
Aquest codi té la particularitat de ser adjacent, per això s'empra a les taules de veritat. Per a escriure'l es fa mirall de la part de dalt i posem un 0 a la part superior i un 1 a la part inferior, com a bit de més pes.