Tal i datorernas värld
När du läser det här gör du det sannolikt på en dator eller på en mobiltelefon. Samtidigt skickas blixtsnabba elektriska impulser genom flera miljarder transistorer. Förstefiolen i den här elektroniska symfonin spelas av en matematisk idé – binära tal. Liksom många andra matematiska uppfinningar såg den dagens ljus som en kuriositet. I dag ligger den till grund för varje musklick på din dator, varje sms på din telefon och lördagkvällens Netflixmaraton på din tv.
Vad är binära tal?
I vårt talsystem – det decimala talsystemet – använder vi tio siffror: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Genom att skriva dem i en genomtänkt ordning kan vi skapa alla möjliga tal, stora som små. Ordningen är viktig. Det är nämligen siffrans position i talet som avgör dess värde. I talet 15 650 anger till exempel den första femman att det finns 5 tusental, medan den andra femman anger att det finns 5 tiotal.
15 650 är alltså ett koncist sätt att skriva
Det binära talsystemet – det som får all världens datorer att ticka – fungerar på samma sätt, men i stället för tio siffror har det binära talsystemet bara två: 0 och 1. Och i stället för ental, tiotal och hundratal, kallas siffrornas positioner för ental, tvåtal, fyratal, åttatal osv.
Talet 10101 i det binära talsystemet är alltså ett kortare sätt att skriva
som i vårt decimala talsystem motsvarar talet 21
(16 + 4 + 1).
Historien om binära tal
Under 1500- och 1600-talet skissade flera olika matematiker på idén om ett binärt talsystem. En av dem var den spanske biskopen Juan Caramuel y Lobkowitz (1606–1682). Trots det är det vanligtvis den tyske matematikern Gottfried Leibniz som får äran av dess upptäckt. Kanske rättmätigt så eftersom det var Leibniz verk Explication de l’arithmétique binaire (1703) som levde vidare medan Caramuels publikation Mathesis biceps glömdes bort.
Men även om Leibniz var kreativ nog att tänka ut de binära talen, var han inte framsynt nog att förutse deras användbarhet.
”Avsikten är dock inte att använda detta sätt att räkna annat än för att studera och söka efter talens hemligheter, och inte alls för att använda i det verkliga livet.”
(Ur Explication de l’arithmetic binaire, förf. översättn.)
Vem kan klandra honom? Det skulle dröja mer än två sekler innan binära tal var mer än en matematisk lustighet.
Drömmen om en dator
Med hjälp av enkla miniräknare kan vi i dag utföra vardagliga beräkningar med några knapptryck. Vi delar notan eller multiplicerar sexsiffriga tal helt utan ansträngning. Det är lätt att ta dessa räknehjälpmedel för givna, men faktum är att drömmen om dem var själva drivkraften bakom utvecklingen av de första datorerna. (Ordet computer betyder ju bokstavligen räknare.) Innan miniräknare var en elektronisk gadget i var mans hand var civilingenjörer och fysiker nämligen tvungna att göra beräkningarna för hand. De kunde ägna dagar åt att lösa en enda differentialekvation eller ett enda linjärt ekvationssystem med sex obekanta. Andra världskrigets utbrott gjorde behovet av sådana beräkningar större än någonsin. De behövdes för att kunna beräkna projektilbanor, lösa fiendens krypterade meddelanden, bidra till utvecklingen av atombomben och driva på den efterföljande rymdkapplöpningen. Den som skulle ta ett av de avgörande stegen mot att realisera drömmen om en automatisk räknemaskin var en geniförklarad amerikan: Claude E. Shannon.
Claude Shannons elektriska algebra
Claude E. Shannon föddes i den lilla staden Petoskey i Michigan, USA, år 1916 och studerade elektronik och matematik vid University of Michigan. Efter en tid vid MIT åkte han till Bell Labs där han fick bekanta sig med hur elektriska strömbrytare användes i telefonväxlar. Shannon började fundera på om de elektriska kretsarna kunde förenklas. I sin avhandling A symbolic analysis of Relay and Switching circuits (1938) visade han sin geniala lösning. Genom att representera de elektriska komponenterna med symboler, kunde han beskriva varje elektrisk krets med ett algebraiskt uttryck. Genom att förenkla det algebraiska uttrycket (så att de innehöll så få bokstäver som möjligt), och sedan översätta resultatet tillbaka till en elektrisk krets, kunde han förenkla den elektriska kretsen. Bilden här nedanför visar processen.
Men det var en annan del av Shannons uppsats som skulle visa sig oundgänglig för drömmen om en dator. I den andra halvan av sin avhandling visade han nämligen att hans algebraiska beskrivning av de elektriska kretsarna i allt väsentligt överensstämde med den logiska algebra som den brittiske matematikern George Boole utvecklat 90 år tidigare.
Överensstämmelsen mellan Booles logiska algebra och Shannons beskrivning av de elektriska kretsarna gjorde det möjligt att bygga elektriska kretsar som kunde verkställa logiska operationer. Det låter förmodligen både abstrakt och komplicerat. Men en maskin som kan utföra logiska operationer, ger hopp om att i förlängningen kunna efterlikna mänskligt tänkande.
Binära tal i datorns tjänst
Claude Shannon visade alltså hur man kunde bygga en maskin som utför logiska operationer. Men på vilket sätt var detta ett steg närmare drömmen om en automatisk räknemaskin? Och vad har det med binära tal att göra?
Redan i slutet av sin uppsats visade Shannon en omedelbar tillämpning av sin teori. Där konstruerade han en elektrisk krets som kunde addera binära tal. Binära tal var särskilt lämpliga för en elektronisk räknemaskin eftersom de kunde representeras elektroniskt. Varje siffra i ett binärt tal kunde nämligen representeras av en strömbrytare som var antingen ”på” – för att representera siffran 1 – eller ”av” – för att representera siffran 0. Det binära talet 10101 kunde alltså representeras av fem strömbrytare på följande sätt.
Genom att representera två binära tal på detta sätt, och utnyttja logiska operatorer som OCH och ELLER, kunde Shannon bygga en elektrisk krets som adderade talen. ”Det är möjligt”, sammanfattade han, ”att utföra komplexa matematiska beräkningar med hjälp av reläkretsar.” Fundamentet till en automatisk räknemaskin var gjutet.
Den här videon visar en modern version av Shannons elektriska krets.
Från tal till text
Än i dag är det binära tal som flyter i våra moderna datorers ådror. De representeras i datorns inre av miljarder minimala strömbrytare, transistorer, som kan vara antingen ”av” eller ”på”. Att din dator bara talar ett språk – binäriska – innebär att varje datorprogram, varje musklick, varje färgad pixel på din skärm måste översättas till en sträng av ettor och nollor. Hur översättningen ska göras styrs av olika standarder, t.ex. ASCII (American Standard Code for Information Interchange), som kodar varje tecken på ditt tangentbord som ett binärt tal. När du trycker ner bokstaven A på ditt tangentbord skyndar sig till exempel 8 transistorer att forma det binära talet 01000001, vilket ditt ordbehandlingsprogram tolkar som ett versalt A. I andra sammanhang kan samma binära tal koda för en färg eller för ett ljud.
En digital revolution
De senaste 100 årens digitala utveckling har varit – och är – en revolution. I revolutionens frontlinje står rader av ettor och nollor, redo att utföra komplicerade beräkningar, lagra färgglada fotografier och streama den senaste Netflix-serien. Vägen hit har möjliggjorts av mängder av uppfinningar och uppfinnare, men de binära talen har hela tiden fått behålla sin huvudroll. “Den tid är nog inte långt borta” skrev Tobias Dantzig år 1954, ”när människan bakom maskinen kommer att vara lika omedveten om sin robots binära tarmar, som han är av sina egna inre organ.” (Numbers, s. 267, förf. översättning). Han fick rätt. Men med den här texten hoppas jag att du har fått en glimt av den matematiska idé som gör din digitala vardag möjlig.
Referenser och vidare läsning
Claude Shannon, https://history-computer.com/ModernComputer/thinkers/Shannon.html
Collins, Graham (2002) Claude E. Shannon: Founder of Information Theory, Scientific American
Computer History Museum, How do digital computers “think”?
Dantzig, Tobias (1954, 2007) Number: The language of Science, Plume
Glaser, Anton (1971) History of binary and other nondecimal numeration, Tomash Publishers
Frame of essence, How do computers read code?
Isaacson, Walter (2015) Innovatörerna: Genierna och nördarna som skapade den digitala revolutionen, Albert Bonniers förlag, E-bok
Leibnitz, Gottfried (1703) Explication de l’arithmétique binaire, Mémoires de mathématique et de physique de l’Académie royale des sciences, Académie royale des sciences, 1703
Leibnitz, Gottfried (1697) Brief an den Herzog von Braunschweig-Wolfenbüttel Rudolph August, 2. Januar 1697
Reuterswärd, Emelie (2020) Binära tal med exploding dots
Shannon, Claude. E. (1938) A symbolic analysis of Relay and Switching circuits
Timeline of Computer History, www.history-computers.com