Tal i datorernas värld

Det finns bara 10 typer av människor i världen. De som förstår binära tal och de som inte gör det.
— Okänd

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.

 
Binära tal 1.png
 

15 650 är alltså ett koncist sätt att skriva

 
Binära tal 2.png
 

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.

 
Binära tal 3.png
 

Talet 10101 i det binära talsystemet är alltså ett kortare sätt att skriva

 
Binära tal 4.png
 

som i vårt decimala talsystem motsvarar talet 21
(16 + 4 + 1). 

Binary counter

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.

 
Gottfried Leibniz, Bernhard Francke - Herzog Anton Ulrich-Museum, online, Wikipedia Commons

Gottfried Leibniz, Bernhard Francke - Herzog Anton Ulrich-Museum, online, Wikipedia Commons

 

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 E. Shannon, Wikimedia Commons (Konrad Jacobs)

Claude E. Shannon, Wikimedia Commons (Konrad Jacobs)

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.

 
Exempel ur Claude E. Shannon (1938) A symbolic analysis of Relay and Switching circuits

Exempel ur Claude E. Shannon (1938) A symbolic analysis of Relay and Switching circuits

 

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.

 
Claude E. Shannon (1938) A symbolic analysis of Relay and Switching circuits, s. 475

Claude E. Shannon (1938) A symbolic analysis of Relay and Switching circuits, s. 475

 

Ö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 7.png
 

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.

 
Binära tal 8.png
 

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

Föregående
Föregående

Samtal om tal

Nästa
Nästa

Fraktaler på liv och död