Varf ¨or r¨aknar vi som vi g ¨or? Om v˚art

Varför räknar vi som vi
gör? Om vårt talsystems
historia.
Anders Källén
Matematikcentrum, LTH
den här artikeln ska vi diskutera vårt talsystem ur ett kulturhistoriskt perspektiv.
Vi ska se hur man genom tiderna har
försökt komma på hur man både ska kunna
beteckna tal, och räkna med dem. Det var en
lång process att komma dit vi är idag, med ett
positionssystem, som bl.a. innebar att man
förstod betydelsen av nolla. Men det system
vi har, med reella tal som oändliga decimalutvecklingar, har sina filosofiska problem: vad
menas med oändligt många decimaler? Kan
man någonsin räkna ut sådana tal?
I
Introduktion
Matematik var ingenting människan uppfann för att
jäklas med små barn. Matematiken var något som
uppkom av nödvändighet när människor började bilda samhällen med specialiserade yrken. Att övergå
från att vara jägare-samlare till att bli bofast och
odla marken innebar att man behövde lära sig tänka
framåt och ställa frågor av typen: hur mycket säd
måste jag spara till nästa utsäde. När är det dags
för nästa såning? Tidigt utvecklades en speciell
samhällsklass, prästerna, vars roll kanske framför
allt var att hålla reda på årstiderna, så att man
visste när man skulle så, och när det var dags att
skörda. Detta krävde att man studerade och beskrev
himlavalvet1 . Sedan började man bygga de stora monumenten (som pyramiderna i Egypten), med sina
både rent ingenjörsmässiga problem, men också logistiska, problem, med att ge föda och husrum till stora
mängder av olika sorters arbetare. Men det var få
som behövde kunna räkna, och tumregler var vanliga
för att lösa olika uppgifter.
Nya utmaningar vid medeltidens slut ledde till ett
behov av förbättrade räknemetoder. Med den gryende kapitalismen kom både ett behov att kunna
räkna med ränta på ränta och att kunna handla
på långa avstånd. Fram tills 1400-talet hade man
mest seglat i nord-sydlig riktning och utmed kuster, och då gick det att orientera sig någorlunda
med hjälp av landmärken och solen. På de stora
haven krävdes något nytt, och det blev navigering
efter stjärnorna. Men det krävde att kaptenen, eller
någon annan, kunde räkna, för att med hjälp av medtagna stjärnkartorna kunna positionsbestämma sig.
En annan drivkraft var artilleriets inträde i krigen,
med långskjutande kanoner, vilket krävde att man
kunde beräkna laddning och vinkel för att få rätt
nedslagsplats. Eller i varje fall konstruera vägledande
tabeller. I samband med detta började man också
mäta världen.
Men under hela denna resa, från det att människan
blev bofast till för några hundra år sedan, var det
komplicerat att räkna med de fyra räknesätten. Man
måste skilja mellan att räkna och att dokumentera
resultatet - alltså skriva ner talen. Räknandet gjordes ofta med mekaniska hjälpmedel - kulramar och
liknande - och resultatet skrevs sedan ner i olika
symboler som användes som siffror. Men att räkna
1
med kulramar har sina begränsningar, fr.a. att man Box 1 Ur Samuel Pepys dagbok från 1662
bara kan hålla sig inom ett visst talområde. Men det
För att illustrerar statusen på multiplikation kan vi
gjorde också räknandet till en rent mekanisk aktivita följande utdrag ur Samuel Pepys dagbok från år
tet, som kunde utföras utan att man behövde förstå
juli 1662.
talens egenskaper.
De första som försökte förstå2 talen var grekerna. Grekerna var ett resande och handlande folk, som tog till
sig av andra kulturers kunskap och dokumenterade
den. I någon mening offentliggjorde de andras yrkeshemligheter. Men de var också ett diskussionsglatt
folk, och införde ett nytt begrepp inom matematiken - beviset. När en matematisk teknik togs hem
behövde man kunna övertyga sina medmänniskor
om att den fungerade3 . T.ex. kände både babylonier
och egypter till Pytagoras sats, den användes till
att konstruerar räta vinklar, men det var troligen
grekerna som tyckte den behövde ett bevis.
Under hela denna tid, och långt framöver, fanns det
många olika sätt att räkna på. Ofta räknade man
olika saker på olika sätt (vi räknar t.ex. ägg i tjog och
tid och vinklar i 60-delar) och ofta gjordes dokumentationen av tal i form av bokstäver (grekerna använde
inte bara hela sitt alfabet, utan två olika generationer av alfabet för att dokumentera tal, romarna ett
fåtal latinska bokstäver, fr.a. I,V,X,L,M,D,C). Men
på 600-talet spred sig ett nytt folk över världen som,
likt grekerna, var villiga att lära sig av de kulturer
de kom i kontakt med (nu genom erövring istället
för handel) – araberna. Eller snarare muslimerna,
eftersom vi pratar om spridningen av Koranen. Araberna var kanske det folk (förutom sumererna och
babylonierna) som kom att ha mest betydelse för den
egentliga räknekonsten4 . De hämtade och organiserade dåtidens kunskap, och införde i den processen det
decimala talsystem vi idag använder. Det var uppfunnet ett millenium tidigare av indier, och möjliggjorde
två fundamentala saker: alla tal, stora som små, går
att beskriva med ett fåtal symboler, och det går att
faktiskt räkna med talen. Dock tog det lång tid, ända
fram till skarven mellan medeltid och nutid, innan
detta sätt att räkna hade slagit igenom i stor skala i
Europa.
“Den 4de. Snart kommer mr Cooper, som är
styrman på Royal Charles och som jag ämnar
lära mig matematik av. Jag skall börja idag
med honom, eftersom han är en mycket duktig
karl och jag förmodar att han låter sig nöja
med ganska litet. Efter en timmes samvaro med
honom och sysslande med aritmetik (det första
jag griper mig an med är multiplikationstabellen) skildes vi åt till i morgon.
Den 9de. Upp klockan fyra och läste flitigt på
min multiplikationstabell, som är det svåraste
jag stött på i aritmetiken.”
Samuel Pepys är för oss kanske mest känd som
författaren till en av alla tiders mest fascinerande
och avslöjande dagböcker. När han skrev passusen
ovan var han 29 år gammal och hade bakom sig
en god utbildning från bland annat universitetet i
Cambridge och han var i början av en karriär som
slutligen skulle föra honom till höga poster i det
engelska samhället, där han bland annat kom att
organisera den engelska flotta som sedan kom att
behärska haven i århundraden.
Småstensaritmetik
Det vi kallar de naturliga talen, alltså 1, 2, 3, . . .,
användes troligen från början för att besvara frågan
“Hur många?”. Frågan i sig själv kräver ett abstrakt
tänkande som många tror skiljer oss från andra djur:
vi kan se att fem kor och fem hundar har den gemensamma egenskapen att de är fem till antalet. Vill vi
skriva ner detta abstrakta tal, kan vi illustrera det
med 5 streck. Människan har troligen betecknat tal
med streck ganska länge, även om hon kanske inte
förstod det abstrakta begreppet. 1960 hittade man i
Ishango i Kongo en benbit som är 20 000 år gammal
som innehåller tre rader med skurna jack. Två av
I denna artikel ska vi se lite på hur forna tiders raderna summerar sig till 60, det tredje till 48. Ett
folk räknade, vilka deras utmaningar var, i syfte att sådant ben kan knappast ha uppkomma av en slump,
förstå det kraftfulla i vårt talsystem. Men vi ska men vad man kan ha räknat kan vi bara gissa.
också se vilka svårigheter det för med sig och vilka Artonhundratalsmatematikern Leopold Kronecker sa
matematiska metoder som uppfanns för att bemästra en gång (på tyska) att de naturliga talen är Guds
dess svåraste gren: multiplikation. Att räkna sysslade verk, allt annat är människoverk. De naturliga talen
endast ett fåtal med, och speciellt inte fint folk, vilket finns oberoende av om vi har gett dem namn eller
illustreras av Samuel Pepys dagbok i Box 1. Han inte. På samma sätt finns de fyra räknesätten oberohade studerat vid universitetet i Cambridge utan att ende av vilka namn vi gett de olika talen, eller hur
kunna multiplicera!
vi skriver dem. Vi kan utföra beräkningar konkret
Varför räknar vi som vi gör? Om vårt talsystems historia.
•epost: [email protected]
page 2 of 13
Box 2 Hur kilskriften troligen uppkom
Det vi menar med skrift utvecklades för första
gången i Sumer från fjärde till andra årtusendet
före Kristi födelse. Det första kända tecknen vi hittar är lertecken som representerar varor man lagrat
eller handlat. Från början representerade en symbol
t.ex. ett får eller en viss mängd säd, men strax dök
det upp symboler (t.ex. ett klot, en kon, en cylinder
eller en pyramid) för att representera olika mycket
av speciella saker (en kon var t.ex. en liten mängd
säd, medan ett klot var en stor mängd säd). Antalet
tecken gav den men mer exakta mängden.
Med tiden tillkom fler tecken, och efter ytterligare
en tid en form av standardisering av dem, vilket
gjorde dem väl lämpade för bokföring. Man kunde
använda en samling tecken för att dokumentera en
lovad, framtida transaktion, eller lagra den i ett arkiv som ett bevis för en genomförd transaktion. Av
säkerhetsskäl, för att dessa symboler skulle kunna
fungera som dokumentation för en transaktion, lade man tecknen från början i en lerpåse. För att
slippa öppna påsen när man ville veta innehållet,
markerade man symbolen också på utsidan av denna
lerpåse, ofta i förenklad form. Notera att eftersom
olika symboler representera olika saker fanns ännu
inte de abstrakta begrepp som tal representerar. Vid
ungefär 3000 f.Kr. hade dessa markeringar utvecklats till ett komplicerat system av tecken med vars
hjälp man kunde registrerar stora mängder varor.
Under de följande 500 åren kom kilskriften att utvecklas. Man hade då insett att lerpåsen var onödig,
det räckte med symbolen på utsidan av den, och
den kunde placeras på en lertavla: tecknen ristades i leran med ett skrivstift (stylus), varefter leran
soltorkades eller brändes.
med hjälp av en hög småsten. Addition svarar mot
att lägga ihop två högar, subtraktion mot att ta
bort lika mycket som finns i en mindre hög från en
större, multiplikation mot att göra flera lika stora
högar och sedan lägga ihop dem till en och, slutligen,
svarar division mot att dela upp en given hög i ett
antal lika stor högar (så långt som möjligt – det kan
bli lite över). Vi kallar detta sätt att “räkna” för
småstensaritmetik. Poängen med det är att vi vill
skilja själva de aritmetiska operationerna från det
sätt vi beskriver tal på.
Medan jägar-samlar folk säkert inte hade något egentligt behov av att räkna i någon nämnvärd skala,
förändrades detta när människan blev bofast och
började bygga samhällen – det vi kallade civilisationen. När gemensamma resurser ska samlas in efter
förmåga och fördelas efter behov, när skatt ska beta-
Varför räknar vi som vi gör? Om vårt talsystems historia.
las för att finansiera en icke-arbetande samhällsklass
(t.ex. präster), när gemensamma byggprojekt ska genomföras etc, behöver man både kunna räkna och
skriva ner resultatet. T.ex. behövde man veta hur
mycket utsäde man behövde spara för nästa års skörd,
och det i sin tur beror av hur stor areal som ska sås.
Kanske skrivkonsten just ur behovet att dokumentera
tal, se Box 2.
I praktiken dyker tal upp i två olika skepnader: som
antal och som mätetal. De förra beskrivs med de
naturliga talen, de senare mäter sådana saker som
hur långt något är, eller hur stor en area är. I det
fallet handlar det om att jämföra t.ex. en längd med
en standardlängd. Som bekant fanns det många olika
sätt att mäta längder på: aln, fot etc. Den stora
skillnaden mellan antal och mätetal är att de förra
alltid är exakta, de senare mäts bara till en viss
precision. En verklig längd är aldrig ett exakt tal
utan bara mätt på någon mm när, eller tusendels
mm eller med någon annan osäkerhet. Olika saker
mättes dessutom ofta i olika enheter, såsom säd i
tunnor (ett tunnland är en så stor area som skulle
få en tunna säd som utsäde) och honung i mark.
Att tänka på tal som mätetal ger oss en annan bild
av addition: som två på varandra förflyttningar. Om
vi först förflyttar oss a längdenheter i en viss riktning
och sedan ytterligare b längdenheter i samma riktning, har vi totalt förflyttat oss a + b längdenheter i
den riktningen. Här är vi dock mest intresserade av
hur man utförde de olika räknesätten på heltal, när
man inte hade hjälp av hur man skrev talen. Lägg
märke till att bråk kan överföras till heltal genom att
vi räknar antalet delar: t.ex. är 5 27 detsamma som 37
sjundedelar. Sjundedelar är en sorts referensstorhet
och talet som intresserar oss5 är 37.
Vi ska nu titta närmare på vad det innebär att multiplicera och dividera med metoder som är baserade
på småstensaritmetik, men är mer effektiva än att
flytta stenar. Men för dessa illustrationer behöver vi
kunna namnge talen, och vi väljer att göra det på
det sätt vi är vana vid, i decimal form. Vi ska dock
inte använda denna betecknings speciella egenskaper;
vi kunde ha använt vilket beteckningssätt som helst
här.
I det antika Egypten fanns en metod för multiplikation som byggde på addition, men i form av
fördubblingar och halveringar. För att illustrera metoden väljer vi att multiplicera talen 35 och 174. Vi
gör då så att vi bildar en serie med fördubblingar
av det ena talet, och en annan serie med halveringar
av det andra (dessa operationer är relativt lätta att
•epost: [email protected]
page 3 of 13
Box 3 Egyptisk multiplikation och division
Den egyptiska metoden att multiplicera talen 35 och
174 kan beskrivas som i nedanstående tabell.
Decimalt
174 35
348 17
696 8
1392 4
2784 2
5568 1
Rest
1
1
0
0
0
1
Binärt
10101110
101011100
1010111000
10101110000
101011100000
1010111000000
100011
10001
1000
100
10
1
De två kolonnerna till vänster visar hur det ser ut i
våra vanliga, decimala, tal. Först fördubblingsserien,
sedan halveringsserien. Den tredje kolonnen visar
vilken rest vi får vid halvering. Om vi läser denna
nerifrån och upp har vi fått den binära beskrivningen
av talet 35:
35 = 32 + 2 + 1 = 100011 i binärt talsystem.
Det vi har är alltså att
174 · 35 = 174(25 + 2 + 1) = 25 · 174 + 2 · 174 + 174
= 5568 + 348 + 174.
Binärt är detta oerhört enkelt. Fördubbling innebär
att lägga till en nolla i slutet, och halveringssekvens behöver inte utföras eftersom den binära framställningen av 35 redan talar om vilka tal som ska
adderas, nämligen
göra i huvudet). I det senare fallet slänger vi bort
alla rester. I vårt fall får vi de två sviterna
halvering:
35
17
8
4
2
1
fördubbling: 174 348 696 1392 2784 5568
Sedan stryker vi de kolonner i vilka halveringssekvensen är ett jämnt tal (vilket är de ställen där vi inte
fick någon rest vid halveringen). Kvar får vi då
35
174
17
348
1
5568
varefter vi summerar de kvarvarande talen i
fördubblingsserien: 174 + 348 + 5568 = 6090.
Förklaringen för varför detta fungerar finns i Box 3.
Denna metod användes på den ryska landsbygden
till långt in på 1900-talet för multiplikation.
Att skriva resultatet för division var länge svårt. I
många kulturer fanns beteckningar för vissa speciella
bråk, men inte alla. I Egypten skrev man t.ex. alla
bråk som en summa av s.k. stambråk, typ 18/35 =
1/2 + 1/70; varje term i högerledet skulle ha ett i
täljaren (så man skrev inte ut den). Ett problem var
att det bara fanns beteckningar för ett fåtal stambråk,
så alla bråk gick inte att skriva.
= 1011111001010,
Det har länge funnits ett annat sätt att beskriva
bråk på, som är naturligt eftersom det egentligen är
helt oberoende av hur man betecknar tal. Låt oss
som exempel dividera 1954 med 181. Det första vi
gör är att se efter hur många gånger 181 går i 1954
och vilken rest vi får. I modern notation har vi att
1954 = 10 · 181 + 144, vilket betyder att
vilket är den binära framställningen av det decimala
talet 6090.
1954
144
1
= 10 +
= 10 + 181 .
181
181
144
Division gick till på ett motsvarande sätt. I våra
beteckningar, om vi ska dividera 368 med 35, skriver
vi först upp fördubblingssviten för 35 tills vi får ett
tal som är större än 368. Den är 35, 70, 140, 280. Vi
har nu följande två sviter:
Gör nu samma operation med 181 och 144, vilken är
188 = 144 + 37. Det följer att 188/144 = 1 + 37/144
och stoppar vi in det ovan får vi en likhet till:
1010111000000 + 101011100 + 10101110
1
35
2
70
22
140
23
280
Vi vill nu se hur vi kan skriva 368 som en summa av
talen i den andra sviten. Vi subtraherar nu 280 från
368 och får 88. Nästa tal från sviten som vi nu kan
subtrahera är 70, och kvar blir då 18. Alltså: 368 =
280+70+18, vilket betyder att heltalsdelen är 8+2 =
10 och resten 18. Notera att divisionsproblemet är
att hitta lösningen på ekvationen 35x = 368, och
det man gör är att skriva ut x binärt och identifiera
vilka potenser av två som ska vara med.
1954
144
1
1
= 10 +
= 10 + 181 = 10 +
37 .
181
181
1 + 144
144
Om vi fortsätter på den inslagna vägen får vi
1
10 +
1+
1
3+
1
= 10 +
1
3+
1
= 10 +
1+
4
33
1
1+
•epost: [email protected]
1+
.
1
3+
Varför räknar vi som vi gör? Om vårt talsystems historia.
1
1+
33
37
1
8+
1
4
page 4 of 13
Box 4 Euklides algoritm och diofantiska ekvationer
Om a och b är två naturliga tal, betecknar vi med
(a, b) den största gemensamma nämnaren. Detta
är det största tal som är sådant att dividerar vi a
och b med detta, så blir det ingen rest (divisionen
går jämnt upp). Denna bestäms genom Euklides
algoritm, som vi kan illustrera genom att beräkna
(1954, 181). De räkningar vi gjorde när bestämde
kedjebråket för 1954/181 visar att
1954 = 10 · 181 + 144;
144 = 3 · 37 + 33;
181 = 144 + 37;
37 = 33 + 4;
33 = 8 · 4 + 1
Från den första divisionen ser nu talet (1954,181)
delar även 144, vilket vi kan skriva (1954, 181) =
(181, 144). Den andra ekvationen visar sedan att
(181, 144) = (144, 37). Fortsätter vi ser vi att
(1954, 181) = (181, 144) = (144, 37)
= (37, 33) = (33, 4) = 1.
Den största gemensamma delaren är alltså 1. Man
säger då att talen är relativt prima.
En intressant observation är att vi nu kan gå
baklänges i detta:
1 = 33 − 8 · 4 = 33 − 8 · (37 − 33) = 9 · 33 − 8 · 37
= 9(144 − 3 · 37) − 8 · 37 =
9 · 144 − 35 · 37 = 9 · 144 − 35(181 − 144)
= 44 · 144 − 35 · 181 = 44(1954 − 10 · 181) − 35 · 181
= 1954 · 44 − 181 · 475.
Det betyder att vi har hittat en heltalslösning till
ekvationen 1954x + 181y = 1, nämligen x = 44, y =
−475. En ekvation på formen ax + by = c, där
a, b, c är heltal, till vilken vi söker heltalslösningar
x, y, kallas en linjär diofantisk ekvation, och vi har
just lärt oss hur man hittar en lösning när c är en
multipel av (a, b). Om så inte är fallet finns inga
lösningar.
Ett sådant uttryck kallas ett kedjebråk, och är ett
alternativt sätt att skriva ett bråk. Vi ser att det är
konstruerat av den typ av stambråk som egypterna
använde. Metoden visar att varje rationellt tal kan
skrivas som ett (ändligt) kedjebråk.
Uppkomsten av vårt talsystem
Att dokumentera stora tal med individuella streck
är omständligt. För snabbare identifiering av talet
är det därför naturligt att gruppera strecken, och
ge grupperna speciella symboler. Detta har gjorts
på olika sätt i olika kulturer, men det vanligaste har
varit att grupperingarna har hängt ihop med våra
händer, vanligtvis i 10-tal eller, som hos romarna, i
5-tal6 . Sumererna och Babylonierna hade två tecken:
ett för ett och ett för 10. Egyptierna hade symboler
för talen 1 (ett papyrusblad), 10 (en båge bildad av
ett dubbelvikt blad), 100 (en repslinga), 1000 (lotusblomma), 10 000 (orm), 100 000 (grodlarv) och
1 miljon (en skrivare med armarna uppåtsträckta).
Grekerna använde i princip sitt vanliga alfabet, och
det romerska systemet med I=1, V=5, X=10, L=50,
C=100, D=500 och M=1000 är välkänt. Man skrevs
sedan ett tal genom att man upprepade antalet tecken ett visst antal gånger. Romarna skrev vårt tal
505 som DV, medan det för egyptierna var 5 bågar
med dubbelvikta blad och 5 papyrusblad.
Att skriva talen med symboler på detta sätt har
två konsekvenser: (1) man behöver andra medel för
att göra beräkningar och (2) man kan i praktiken
bara beskriva tal inom ett visst område. Det beror på att skrivsättet egentligen inte skiljer sig från
småstensaritmetikens sätt att beskriva ett tal: visa
upp det antal stenar som definierar talet. För att
råda bot på detta behövs några revolutionerande
idéer.
Den första av dessa idéer fanns redan hos dem
som uppfann tal i skrift: babylonierna och deras
föregångare sumererna. Visserligen använde de olika
sätt för att räkna olika saker, men vissa av dessa
räknades i grupper om 60. Man hade visserligen bara
symboler för 1 och 10, man grupperade resultatet så
att man kunde skriva mycket större tal. Vad man
väsentligen gjorde var att skapa fack, och låta facken beteckna en-tal, 60-tal, 3600-tal etc. Men man
hade ingen referenspunkt, så man visste inte om 35
(skrivet i kilskrift) betydde 3 · 60 + 5 = 185, eller
3 · 602 + 5 · 60 = 11100, eller kanske t.o.m. 3 + 5/60.
Sammanhanget fick avgöra vilket som låg vid handen.
Dock förekom ibland en lucka för att illustrera, vad
vi skulle skriva, 305, en lucka som dock måste varit
lätt att missa vid avläsning.
Räkningarna vi just genomfört kan också användas
till att bestämma det största tal som delar både 1954
och 181 (och visar att detta är ett). Detta diskuteras När det babylonska sättet att skriva tal exporterades
utvecklades det i olika riktning i väster och i öster. I
i Box 4
väst blev det till bokstavssystem, där man tog fasta
på hur upprepning av symboler beskriver ett tal.
Varför räknar vi som vi gör? Om vårt talsystems historia.
•epost: [email protected]
page 5 of 13
Något förenklat kan man säga att medan man i väst
tog fasta på systemet att låta olika symboler beteckna
olika antal, tog kineserna mer fasta på positionsaspekten av sättet att skriva. Fast vad man egentligen
gjorde var att bygga en motsvarighet till kulram
som i all sin enkelhet kom att få revolutionerande
begreppsmässiga konsekvenser. Räknebrädet ifråga
var gjort av trä och rutat som ett stort schackbräde.
I dessa rutor placerade man räknestavar, ca 1 dm
långa. Ett tal utgjorde en rad, och antalet stavar i
den rutan längst till höger betecknade antalet en-tal,
antalet stavar i rutan till vänster om den antalet
10-tal etc. Om man skulle addera två tal lade man
dem under varandra, och lade ihop stavarna i rutorna
som låg under varandra. Varje gång man fick ihop 10
stavar tog man en och lade i facket till vänster och
lade undan de övriga 9. Precis som vi adderar. Men
vad man också gjorde var att man lät slutresultatet
på brädet vara dokumentationen av talet. (För att
minska antalet stavar som behövdes i en ruta lät
man 1-5 betecknas av samma antal stavar, men 69 beskrevs med hjälp av en vägrätt liggande stav
kompletterad med några lodräta.) Notera att vår
nolla motsvarades av ett tomt fack.
Från kinesernas räknebräde till vårt sätt att skriva
talen är en väldigt kort resa. Men det var (troligen) indierna som sådär 500 f.Kr. uppfann det talsystem vi idag använder. Om vi utgår ifrån kinesernas
räknebräde så införde indierna två viktiga uppfinningar:
1. För att snabbare kunna bestämma antalet
streck i ett fack, la de dem enligt mönster som
påminner lite om hur våra siffror ser ut på en
digitalklocka. Dessa utvecklades sedan till våra
siffror 1,2,3,4,5,6,7,8,9.
2. De införde en speciell symbol för ett tomt fack:
nollan.
att förstå Nirvana.
Det som åstadkommits med detta var alltså dels att
hur stora tal som helst kan beskrivas, men också att
man kan räkna direkt med talen, användande papper och penna, istället för att behöva ett mekaniskt
hjälpmedel. Beteckningssättet betyder att talsviten
ak ak−1 . . . , a1 a0 är det tal vi får om vi beräknar
ak 10k + ak−1 10k−1 + . . . a1 10 + a0 .
Här är varje ai ett av talen 0, 1, . . . , 9. Även om detta
sätt att skriva tal möjliggör att vi kan skriva upp hur
stora tal som helst, och gör addition relativt enkelt
(enligt samma princip som det kinesiska räknebrädet),
så är det inte direkt anpassat till att enkelt utföra
multiplikationer (eller divisioner). Och är det svårt
att räkna blir det ofta fel, vilket kunde leda till att
fartyg gick på grund, eller att arméer svalt.
Steget att införa nollan som siffra är inte speciellt
självklart. Det gjordes en gång i gamla världen,
av indierna, och en gång i nya världen, av Mayaindianerna. Symbolen för noll betyder på hinduiska
tom, så det var mer en verbal beskrivning från början,
men med tiden upptäckte man att den behövde ha
rollen som en siffra. Det är inte det att grekerna inte
funderade kring nollan, men deras problem var hur
ingenting skulle kunna vara ett tal, och kom fram till
att det vore en paradox om så var fallet. Eftersom
“ingenting inte kan vara någonting” kan inte saker
som siffran noll (eller vakuum) existera.
Men indiernas uppfinning tog mer än tusen år att
komma väster-ut, och för detta krävdes muslimsk jihad. Araben Al-Khwarizmi var den förste som i skrift
(år 825) försökte förklara decimalsystemet. Boken
har ingen titelsida, men i arabiska bibliotekskataloger kallas den “Boken om addition och subtraktion
med indiska metoder”. Den är en sammanfattande,
förklarande och förfinande framställning av tidigare vetande, främst av indiskt ursprung. Efter en
ingående redogörelse för decimalsystemet och bruket
av nolltecknet beskriver han vad han kallar hinduiska
metoder för de grundläggande aritmetiska operationerna. Addition och subtraktion utför han som vi
gör det, multiplikation med en metod som kan kallas
nät-metoden som i allt väsentligt är samma metod
som vi använder, fast är lite annorlunda uppställd.
Nätmetoden som beskrivs i Box 5, beskrevs först
av Al-Khwarizmi och populariserades i Europa av
skotten John Napier under 1500-talet7 .
Därmed var vårt sätt att skriva talen uppfunnit, det
s.k. decimalsystemet. Decum är latin för tio, som
utgör basen för metoden. Det är ett positionssystem, där positionen av ett tal talar om hur mycket
det bidrar med. 3:an i 305 bidrar med 3 hundratal, medan 3:an i 35 endast bidrar med 3 tiotal.
Härigenom kan man också skriva hur stora tal som
helst. Vilket för övrigt var indiernas stora drivkraften, eftersom de var besatta av stora tal, och gav
många av dem speciella namn. Så var t.ex. en rajju
det avstånd en gudomlighet tillryggalade om han
flög i sex månader med en hastighet av en miljon
kilometer per ögonblinkning (av storleksordningen Så medan det decimala talsystemet erövrade de mus216.5 ljusår). Hinduerna behövde förstå stora tal för limska länderna, förblev det förhärskande siffersystemet i det kristna Europa långt in på medeltiden
Varför räknar vi som vi gör? Om vårt talsystems historia.
•epost: [email protected]
page 6 of 13
Box 5 Nätmetoden för multiplikation
Som illustration på den s.k. nätmetoden för multiplikation gör vi samma som vi gjorde i Box 3, alltså
35 · 174. En nödvändig förutsättning för multiplikation i decimalsystemet är att man kan multiplikationstabellen. De delar av den vi behöver är
1
3
5
7
21
35
4
12
20
3
5
7
2
3
0
3
5
0
5
10
4
1
1
9
3
2
2
5
ak 10k + . . . + a0 + a−1 10−1 + . . . + a−m 10−m .
Detta får betydelse vid t.ex. ränteräkning.
Det vi gör nu är att vi drar den bakåtvända diagonalen i var och en av de nio rutorna i multiplikationstabellen. Sedan skriver vi varje tio-tal ovanför
diagonalen, och entalet nedanför. Sedan drar vi ut diagonalerna till en rad under den nedersta. Slutligen
adderar vi talen på diagonalen
1
0
helst som det decimala systemet kan skriva ner exakt, utan även så små tal vill, genom att använda
negativa potenser av 10, med en decimalpunkt för
att markera var entalssiffran står. Vi har alltså att
talet ak . . . a1 a0 .a−1 . . . a−m är talet
5
0
0
Vi ser att vi fick 10 i andra position. Vi splittrar
den genom att lägga tiotalssiffran till positionen till
vänster och behålla endast entalssiffran. Slutresultate är 6090, precis som tidigare.
John Napier anammade denna metod, som var
känd sedan tidigare, och konstruerade en sorts kulram för multiplikation. Hans metod, Napier’s ben,
förebådade hans senare uppfinning av logaritmerna. Napiers ben kan lätt göras av pappersremsor
(eller trästavar). För ändamålet behövs tio remsor,
ungefär en decimeter långa och ett par centimeter
breda. Remsorna förses med linjer och siffror på samma sätt som ovan. Varje remsa svarar mot en rad
i multiplikationstabellen. Sedan förfar man ungefär
som ovan. Genom att gå i omvänd ordning kan man
dividera.
Exempel 0.1. Betrakta följande problem: du ska
låna ut 100 kr till 13% ränta i 5 år, hur mycket ska
då betalas tillbaka?
På en kulram har man ändligt många positioner till
sitt förfogande för dessa räkningar. Som illustration
bestämmer vi oss för att räkna i hela kronor. Om vi
ska räkna ut 13% av ett heltal, multiplicerar vi med
13 och tar bort de två sista siffrorna. Det betyder att
räkningarna blir
Efter
1 år
2 år
3 år
4 år
5 år
100 + 0.13 · 100 = 113 kr
113 + 0.13 · 113 = 113 + 14 = 127 kr
127 + 0.13 · 127 = 143 kr
143 + 0.13 · 143 = 161 kr
161 + 0.13 · 161 = 181 kr
Om vi räknar decimalt däremot, kan vi utan vidare
hålla reda på alla decimaler. Våra räkningar blir
därför
Efter
1 år
2 år
3 år
4 år
5 år
100 + 0.13 · 100 = 113 kr
113 + 0.13 · 113 = 113 + 14.69 = 127.69 kr
127.69 + 0.13 · 127.69 = 144.28970 kr
163.047361 kr
184.24351793 kr
vilket innebär en förtjänst på 184.24 − 181 = 3.24 kr.
Naturligtvis kan vi räkna i ören på kulramen istället,
och då blir skillnaden mindre. Men principen är att
det romerska. Den man som kom att betyda mest kulramen bara kan hantera relativt små tal rimligt
för att införa det decimala systemet i den kristna exakt.
världen var Leonardo Fibonacci. Han var son till
en italiensk diplomat från Pisa i Italien och bodde Som kuriosa kan vi notera att Fibonacci tog över
i hamnstaden Bejaia (Bougie) i nuvarande Algeri- arabernas sätt att skriva talen direkt. I språk som
et som tonåring. Här kom han i kontakt med de skrivs med det romerska alfabetet skrivs orden från
muslimska handelsmännens sätt att räkna, och insåg vänster till höger, vilket är tvärtemot hur araberna
dess värde för beräkningar. Han tog därför med sig skriver. Det betyder att araberna läser lägsta siffran
siffersystemet hem till Italien och skrev 1202 en bok, först och högsta sist, medan det är tvärtom för oss.
’Konsten att räkna’ (Liber abaci ), som riktade sig Trots de rent ekonomiska fördelarna med det detill italienska handelsmän. I den förklarade han hur cimala systemet i merkantil räkning (inte bara
det gav handelmännen rent ekonomiska vinster att ränteräkning, utan också valutaväxlingar), fann det
räkna decimalt istället för på kulram. Att det är medeltida Europa i århundraden det decimala systeså beror på att det är inte bara hur stora tal som mets beteckningssätt så mystiskt och svårt att man
Varför räknar vi som vi gör? Om vårt talsystems historia.
•epost: [email protected]
page 7 of 13
fördömde det som ett djävulens påfund och trodde Box 6 Datorer är som kulramar
att de som använde de nya metoderna var trollkarlar
Införandet av datorer för numerisk räkning innebär
eller bedragare. Till exempel förbjöd Florens köpmän
ett återinförande av kulramarnas begränsningar. Siff1299 användandet av arabiska siffror. Spridningen
ror lagras i datorer binärt, där siffrorna (0 och 1)
och acceptansen för de arabiska siffrorna fick emellerkallas bitar. Fysiskt kan detta lagras som en elekttid hjälp av Gutenbergs tryckpress, och blev allmänt
risk omkopplare. Lägger man 8 sådana bitar i en
rad får man en byte, och med en byte kan vi t.ex.
kända i Europa under 1400-talet. I mitten av 1500beskriva alla heltal mellan 0 och 28 − 1 = 255. Vi
talet var de i allmänt bruk, och de romerska siffrorna
kan sedan addera två sådana heltal genom att lägga
förpassades till speciella områden såsom urtavlor och
dem bredvid varandra och använda principen för
ordningstal på kungar.
Att räkna med positionssystem
Ett positionssystem måste inte ha basen 10. Om vi
låter b vara basen, så betecknar talet ak ak−1 . . . , a1 a0
talet
ak bk + ak−1 bk−1 + . . . a1 b + a0 .
Om vi t.ex. väljer talet 305 i bas 8, så betecknar
det det decimala talet 3 · 82 + 0 · 8 + 5 = 197. Vi
skriver detta som 3058 = 19710 . Omvänt, har vi att
30510 = 4618 . För att se det, notera först att 305/8
ger resten 1. Därav a0 = 1. Sedan ger (305 − 1)/82
resten 6, vilket betyder att a1 = 6. Slutligen blir
305−1−6·8 = 4·82 . Om man arbetar i bas b behöver
man b siffror, 0, 1, . . . , b−1. För en bas b > 10 betyder
det att vi måste uppfinna nya “siffror”. T.ex. har det
hexadecimala systemet bas b = 16, med de felande
sex “siffrorna” A, B, C, D, E, F . När vi multiplicerar
i ett positionssystem med bas b, behöver man lära
sig en multiplikationstabell som består av b(b − 1)/2
element (även om en del, som multiplikation med
noll eller ett, är väldigt enkla). Detta gör att sådana
här system är egentligen inte direkt anpassade till
att enkelt utföra multiplikationer (eller divisioner).
binär addition. Vi behöver för detta fyra register: 2
för talen 0 och 1, ett för resultatet och ett för minnesiffrorna. Ett problem är att om man adderar för
stora tal kan man får fel resultat, eftersom vi bara
har en byte till vårt förfogande. Addition av 232 och
64 tillgår t.ex. så att 11101000 och 1000000 adderas,
vilket ger 00101000, eftersom den sista minnessiffran
inte får plats. Men detta är den binära beskrivningen
av talet 40, så vi har alltstå att 232+64 = 40 (vilket
är 232+64-255).
En annan observation är att vi kanske inte vill
använda de 256 talen från 0 till 255, utan vi vill ha
tillgång till negativa tal. Då kan vi låta första biten
bestämmer om det är plus (0) eller minus (1), och
sedan låter vi de återstående 27 − 1 = 127 bitarna
beskriva storleken (absolutbeloppet): på så sätt kan
vi beskriva alla tal mellan −127 och 127 (vilket bara
är 255 tal, och det beror på att det finns både ett
+0 och ett −0).
Genom att använda flera bytes kan vi få 16-bitars
tal, 32-bitars tal, 64-bitars tal, etc. Härigenom kan vi
utöka antalet heltal vi kan räkna med, men oavsett
val måste det bli ändligt många tal som vi kan
manipulera - vi kan inte räkna hur långt som helst.
Men det är en annan bas som successivt håller på att
ersätta bas 10. Det är bas 2, som definierar det binära
talsystemet. Igen handlar det om representation av
tal, men representation i datorer. Då har det visat sig
väldigt praktiskt att använda det binära talsystemet
som bara består av ettor och nollor. En etta kan
fysiskt representeras av att något är på, medan nollan
är att det är av. Att addera binära tal blir väldigt
lätt: man lägger upp dem i två rader och jämför
positionerna. Om det är precis en etta i en position,
blir resultatet en etta. Två nollor eller två ettor ger en
nolla, men i det senare fallet lägger man till en etta på
nästa position (minnessiffra). Multiplikationstabellen
är också mycket enkel:
från bas 2 till bas 4, och sedan från bas 4 till bas 8
osv. Decimaltalet 174 kan binärt skrivas 10101110.
Det betyder att 174 = 27 + 25 + 23 + 22 + 2 =
2·43 +2·42 +3·4+2. I basen 4 skrivs alltså decimaltalet
174 som 2232, (alltså 17410 = 22324 ) vilket vi direkt
kan se genom att skriva det binära talet i grupper
som (10)(10)(11)(10) = 2232 (eftersom binärt 10 är
2 i basen 4 och binärt 11 är 3 i basen 4). På samma
sätt blir 174 (10)(101)(110) = 256 i basen 8 och
(1010)(1110)=(10)(14)=AE i bas 16, där mellanledet
betecknar bas 10. Det senare kan vi få från bas 4
representationen genom (22)(32) också.
Varför räknar vi som vi gör? Om vårt talsystems historia.
•epost: [email protected]
Ett tal som representerar ett mätetal beskrivs i ett
positionssystem med basen b på samma sätt som heltalen, genom att använda negativa potenser av b, med
0 · 0 = 1 · 0 = 0 · 1 = 0,
1 · 1 = 1.
en decimalpunkt för att markera var entalssiffran står.
En annan sak att observera är hur lätt det är att gå Vi har alltså att talet ak ak−1 . . . , a1 a0 .a−1 . . . a−m är
page 8 of 13
Box 7 En Gulf-krigs katastrof för amerikanarna
talet
ak bk +ak−1 bk−1 +. . . a1 b+a0 +a−1 b−1 +. . . a−m b−m .
Även om alla heltal kan skrivas på detta sätt,
gäller inte detsamma med bråk, vilket kanske är
överraskande. För att ovanstående tal ska vara ett
bråk måste det ha formen N/bm där N är ett heltal. Om vi förkortar med den största gemensamma
nämnaren ser vi att ett bråk kan skrivas med en
(ändlig) decimalutveckling i basen b precis om bråkets
nämnare delar någon potens av b.
Men att bråk är väldefinierade tal som inte kan
skrivas med ändligt många siffror i form av ett positionssystem innebär att något fattas. Vi kan ge en
approximation av 1/7 till vilken precision vi vill, men
vi kan inte skriva ner det exakt med ändligt många
siffror. Istället gäller t.ex. att
1/7 = 0.142857142857142857 . . .
med en oändlig upprepning av sekvensen 142857, och
för att få likhet måste vi ta med oändligt många termer. Vilket skapar ett filosofiskt problem kring just
vad oändligheten är. Vi kan visserligen beskriva hur
talet skrivs decimalt exakt (eftersom det är en periodisk upprepning), men den faktiska summeringen
av oändligt många termer är inte självklart. Allmänt
gäller att ett bråk alltid svarar mot decimalutvecklingar som är periodiska.
Omvänt är en decimalutveckling som är periodisk
alltid ett bråk. Om vi t.ex. vill veta vilket bråk x =
0.142857142857142857 . . . svarar mot, observerar vi
att multiplicerar vi det med 106 får vi ett tal som kan
skrivas 142857.142857142857142857 = 142857 + x.
Med andra ord: 106 x = 142857 + x, och alltså x =
142857/(106 − 1). Vi kan nu notera att 106 − 1 =
7 · 142857, varför x = 1/7. Motsvarande gäller i andra
baser, men det är olika bråk som är ändliga respektive
periodiska. T.ex. gäller att om vi utvecklar 0.1 binärt
så har vi den periodiska sviten
Den 25 februari 1991, under första Gulfkriget, misslyckades ett batteri av amerikanska patriot missiler
att skjuta ner en inkommande irakisk Scud missil. Den slog ner i en amerikansk armé-barrack och
dödade 28 soldater. En granskning av orsaken till
misslyckandet visade att det berodde på att 0.1 inte
är ett binärt bråk.
För att kunna fånga in Scud:en behövde batteriet
bestämma dess hastighet och tidpunkten den senast
sågs på radarn. För att hålla reda på tiden räknade
systemet tiondels sekunder. För att kunna beräkna
Scud:ens nästa position måste både tid och hastighet
uttryckas som reella tal. Patriotsystemet byggde på
register om 24 bitar, så översättningen av tid från
ett heltal till ett reellt tal kan inte få högre precision and vad som ryms i 24 bitar. Det innebär t.ex.
att talet 1/10 lagras som det approximativa talet
0.00011001100110011001100. Skillnaden mellan 0.1
och detta tal är ungefär 0.00000009510 . Systemet
hade varit operationellt ca 100 timmar. På den tiden har tidsfelet accumulerats till 0.34 sekunder. En
Scud färdas med en hastighet av nästan 1700 m/s,
och kommer därför mer än en halv kilometer på
den tiden. Den var därför utanför Patriot-systemets
synfält, och kunde därmed inte hittas. Lägg märke
till att felet berodde på översättningen av ett heltal till ett reellt tal; heltalsgeneratorn hade korrekt
ordning på tiden.
hitta det av talen 2.1, 2.2, . . . , 2.9 som är det största
som har en kvadrat som är mindre än 5. Vi finner
att det är 2.2, ty 2.2 = 4.84 < 5 men 2.3 = 5.29 > 5.
Sedan fortsätter
vi på det sättet och bygger på med
√
decimaler 5 = 2.2361.... Dock får vi inte någonsin
exakt 5, hur många decimaler vi än bygger på, men
vi kan komma så nära vi vill.
För att bestämma decimaltalet till en kvadratrot till
den precision vi vill kan vi gå tillväga på följande
sätt. Låt oss bestämma det tal a som är sådant
2
att
√ a = 5. Beteckningen för detta positiva tal är
5 och det beräknas med successiv approximation.
Vi börjar med att konstatera att 2 < a < 3, ty
22 = 4 < 5 och 32 = 9 > 5. Sedan gäller det att
Slutsatsen av detta är att vi på något sätt måste
låta inte bara ändliga decimalutvecklingar utan också
oändliga sådana definiera tal – annars kan vi inte få
med alla tal. Men detta leder till en del paradoxer
eftersom oändligheten inte är ett helt problemfritt
koncept. Men vi gör så, och då har vi definierat alla
reella tal. De är alla tal som godtyckligt väl kan approximeras med ändliga decimalutvecklingar. Bland
dessa finns två typer av tal: de som har periodiska decimalutvecklingar och de som inte har det. De
förra utgör bråken, också kallade de rationella talen, medan de senare utgör de irrationella talen. Att
det finns irrationella tal är egentligen självklart, det
är inte svårt att tänka ut ett sätt att definiera ett
tal vars decimalutveckling inte blir periodisk. Men
irrationella tal finns mycket närmre oss.
Varför räknar vi som vi gör? Om vårt talsystems historia.
•epost: [email protected]
1/10 = 0.00011001100110011001100 . . .
Det faktum att vi även här har en oändlig utveckling
ställer till med en del problem, se Box 7.
page 9 of 13
√
Ett enkelt exempel är 2, alltså det (positiva) tal Box 8 Hur man konstruerar ett kedjebFråk av ett
vars kvadrat är 2. Man inser lätt att detta
tal är rationellt tal
√
lite större än ett, varför man kan skriva 2 = 1 + a.
Hur konstruerar man då ett kedjebråk till ett godTalet a har en speciell egenskap, ty
tyckligt reellt tal, som t.ex. π. Principen är enkel.
√
1
1
2+1
=√
=
= 2 + a.
a
2−1
2−1
√
Om vi därför utvecklar
√
2 i ett kedjebråk får vi
1
1
2=1+
=1+
=1+
1/a
2+a
=1+
Det följer att
jebråket
√
√
1
Om x är ett reellt tal, låt r(x) vara vad som blir
kvar om man tar bort heltalsdelen. Då bildar vi
kedjebråket för x genom att först definiera en svit
av tal xn = 1/r(xn−1 ), n = 1, 2, . . . , utifrån x0 = x,
och sedan bilda talet
.
1
[x1 ] +
1
2+
1/a
1
1
[x0 ] +
1
[x2 ] +
[x3 ] +
1
[x4 ] +
1
...
där [xn ] står för heltalsdelen av xn . Som illustration
tar vi π. Vi har då [x0 ] = 3 och eftersom r(π) =
0.1415927 . . . får vi att x1 = 7.0625133 . . . och alltså
[x1 ] = 7. De närmast följande talen bir
1
2+
2+a
2 definieras av det oändliga kedx2 = 15.996594, x3 = 1.0034172, x4 = 292.63459,
1
2=1+
2+
1
.
1
2+
2 + ...
Eftersom rationella
tal definierar ändliga kedjebråk,
√
ser vi att 2 är ett irrationellt tal. Genom att bara
ta med ändligt många steg i processen
får vi olika
√
rationella approximationer till 2.
x5 = 1.5758184, x6 = 1.7366585
varför motsvarande heltalsdelar blir 15, 1, 292, 1, 1.
Det betyder att
1
π =3+
7+
1
15 +
Varför räknar vi som vi gör? Om vårt talsystems historia.
1
1+
1
292 +
Så ett annat sätt att beskriva irrationella tal är alltså
som oändliga kedjebråk. Algoritmen för hur detta
görs beskrivs i Box 8.
Vi antydde ovan att det inte är så att varje oändlig
decimalutveckling entydigt definierar de irrationella
talen. För att det ska gälla måste vi plocka bort
en speciell typ av decimalutvecklingar, vilka är av
intresse i sig själva. För att illustrera det, betrakta problemet att gå en sträcka som vi sätter till 1
längdenhet. Vi måste då först gå 9/10 av denna.
Därefter 9/10 av det som återstår. Sedan 9/10 av
återstoden, osv. Det betyder att den sträcka vi går
är 0.9999..., där det är oändligt många nior. Men
detta är detsamma som att gå hela sträckan, dvs
0.9999... = 1! Men det betyder att tal som slutar på
oändligt många 9:or också kan skrivas på ett annat
sätt, om vi höjer siffran innan den första av dessa 9:or
med ett och fortsätter med nollor. Detta problem
har inget med bas 10 att göra. För det binära talsystemet blir t.ex. 0.1111111... = 1, för det tertiära
blir 0.222222... = 1 osv.
.
1
1+
1
1
1 + ...
Vi vet att π är ett irrationellt tal, så detta är ett
oändligt kedjebråk. Emellertid ger detta oss en svit
av användbara rationella approximationer
22
333
355
= 3.1428571,
= 3.1415094,
= 3.1415929.
7
106
113
Den sista approximationen här är nästan osannolikt
nära det sanna värdet på π.
Datorn och binära tal
På grund av deras betydelse är det all anledning
att titta lite närmare på de binära talen. Eftersom
vi bara har två siffror att använda blir sådana tal
längre än de decimala talen, lite mer än tre gånger
så långa (eftersom 10 är lite mer än 23 = 8). Men
att räkna med dem är väldigt mekaniskt – det handlar egentligen bara om att på olika sätt använda
•epost: [email protected]
page 10 of 13
fördubblingar liksom i den egyptiska multiplikatio- och
nen. Och fördubblingar görs genom att förskjuta hela
0111 1111 1111 1111 .... 1111
talet ett steg åt vänster (genom att lägga till en nolla
om vi pratar heltal). Detta gör att vi kan använda
vilket svarar mot talen 2−1023 ≈ 1.112537 × 10−308
binära tal när vi tänker i termer av ja/nej.
1024 = (2 − 2−52 )21024 ≈ 3.595386 ×
Varför multiplikation endast är en fråga om addition och3081.111 . . . 1 × 2
kan vi illustrera genom att återigen multiplicera 35 10 . Men man får inte med noll, eftersom manoch 174, vilka binärt är 100011 respektiv 10101110. tissa per definition börja med en icke-lagrad etta.
Låt oss multiplicera dem med den uppställning vi Istället har man avsatt de två mest extrema exponentvärdena till att betyda speciella saker, inkludekänner:
rande nollan. Men dessa undantag lämnar vi därhän
i denna diskussion.
10101110
100011
10101110
101011100
0000000000
00000000000
000000000000
1010111000000
10101110
101011100
1010111000000
1000001010
1010111000000
1011111001010
Istället tittar vi in på hur datorn sedan utför de
fyra räknesätten. De är i princip alla reducerade till
addition, vilket i sin tur är enkelt. Men innan vi
gör det poängterar vi att det finns en lucka mellan
två konsekutiva tal. För små tal, med exponent noll,
är luckan = 2−55 ≈ 2.2310−16 . Detta betyder att
1 + = 1 för datorn i den meningen att den inte kan
se skillnad på dessa tal.
Om oändligheten och gränsvärden
Låt oss nu återvända till definitionen av de reella
talen. Vi har sett att dessa är alla oändliga decimalutvecklingar, med ett viktigt undantag: om den
Detta är den binära beskrivningen av 6090. Vi ser
slutar med oändligt många 9:or så ska man istället
här att multiplikationen bara består av additioner.
öka på sista icke-9-siffran ett steg och sluta med bara
Hur kan man då få datorn att representera andra nollor (dessa två är samma tal, så man behåller bara
tal? Det görs som flyttal, och då i regel med 64 bitars ett). Men vad menas då med oändligt många?
enligt den s.k. IEEE 754 standarden som fungerar
Oändligt många är faktiskt inte ett trivialt eller
så att man skriver talet som ett normerat binärt tal
motsägelsefritt begrepp. Vi betecknar det med ∞,
med 52 bitar till höger om binärpunkten (motsvarar
och det är då risk att man tror att det är ett tal.
15-16 decimala siffror) som
Det är det inte! Vi vet att det finns oändligt många
e
udda tal, och det är väl självklart att det finns fler
s1.b1 b2 b3 . . . b52 × 2
heltal än udda tal? Så det måste finnas olika sorters
där exponenten e måste vara i intervallet −1023 till oändligheter.
+1024. Sedan lagras det i 64 bitar genom
Tror man, tills man börjar fundera kring vad det
betyder att två mängder har lika många element.
Det betyder att man kan para ihop elementen i de
(1 + 11 + 52 bitar = 64 bitar). Här är e11 e10 . . . e1 två mängderna två och två på så sätt att det inte blir
heltalet e + 1023 lagrat i 11 bitar. Den första siffran något över i någon av mängderna. På samma sätt
finns det lika många tal som är jämna kvadrater som
1 lagras inte. Talet ett representeras därför av
det finns heltal osv. Terminologiskt säger man att
0011 1111 1111 0000 0000 0000 .... 0000 0000 två mängder har samma kardinaltal (vilket betyder
lika många element) om det finns en bijektion mellan
(63)
(240)
(0)
(0)
dem. Kardinaltalet för de naturliga talen är att de
I princip skulle talområdet (för positiva tal) markeras är uppräkneligt många.
Ett sätt att illustrerara det paradoxala med oändligt
av representationerna
många saker är Hilbert’s hotell som har oändligt
0000 0000 0000 0000... 0000
många rum. Ett sådant hotell har alltid plats till en
se11 e10 . . . e1 b1 b2 . . . b52
Varför räknar vi som vi gör? Om vårt talsystems historia.
•epost: [email protected]
page 11 of 13
ny grupp gäster. Om det är fullt, och det kommer en
ny gäst, så flyttar man bara den gäst som fått rum 1
till rum 2, den som bodde där till rum 3 osv. Då får
alla rum, inklusive den nya gästen som får ta rum 1.
Det betyder att ∞ + a = ∞ för alla tal a. Faktum är
att hotellet är mer användbart än så: om det kommer
ett sällskap med oändligt (men uppräkneligt) många
gäster så får de också plats: flytta den gäst som är
rum k nu till rum 2k, k = 1, 2, . . .. Då blir alla rum
med udda nummer lediga. Man placerar sedan de
nya gästerna där, efter någon uppräkning av dem.
Vi har allså att ∞ + ∞ = ∞.
Faktum är att de rationella talen är också
uppräkneligt många (kan du tänka ut ett sätt att
räkna upp dem?). Trots att det finns ofantligt många
av dem, så många att vilka två vi än väljer, så finns
det alltid ett annat emellan dem (mellan bråken
a/b och c/d finns alltid talet (a + c)/(b + d)). Vi
kan uttrycka det som att om vi tittar i en aldrig
så liten omgivning till ett rationell tal, så hittar vi
alltid oändligt många rationella tal där. Generellt
sätt gäller att det mellan två givna tal alltid finns
andra tal. Exempelvis finns mellan a och b alltid det
aritmetiska medelvärde
(a + b)/2, liksom det geomet√
riska medelvärdet ab. (Och många andra. Detta kan
användas som ett argument till varför 1 = 0.9999999.
Om det nämligen gällde att 0.99999.... < 1, skulle
det finnas ett tal däremellan, men hur skulle vi skriva
det?)
det finns fler än uppräkneligt många irrationella tal.
Kardinaltalet för de irrationella talen (och därmed
de reella talen) är därför högre än kardinaltalet för
de naturliga talen. Sedan är det en intressant fråga
om det finns någon delmängd av de reella talen som
också är icke-uppräknelig men har ett lägre kardinaltal än de reella talen, den s.k. kontinuumhypotesen.
Vi återvänder nu till där vi började detta avsnitt,
dvs med observationerna att för det binära talsystemet blir t.ex. 0.1111111... = 1, för det tertiära blir
0.222222... = 1 osv. Uttryckta i vårt vanliga decimala
talsystem är dessa påståenden
1
1
1
+ ( )2 + . . . + ( )n + . . . = 1,
2
2
2
respektive
2
2
2
+ ( )2 + . . . + ( )n + . . . = 1.
3
3
3
Den första av dessa har den geometriska innebörden
att för att gå en sträcka, måste jag först gå halva
sträckan, sedan hälften av det som återstår, osv.
Grekerna funderade mycket på denna tolkning: man
borde ju aldrig komma fram. Detta är innebörden av
den berömda paradoxen om Akilles och sköldpaddan.
Logiskt sett, tyckte grekerna, kan man aldrig komma
fram eftersom man har oändligt många halveringar
att göra. Och det är något paradoxalt med det hela:
antag att vi tänder och släcker en lampa på följande
sätt: efter 1/2 minut tänder vi den, därefter släcker
vi den efter 1/4 för att åter tända den efter 1/8 minut
osv. Vi är färdiga med det hela efter 1 minut, men
är lampan tänd eller släckt?
Men trots det finns det på ett linjestycke plats för de
irrationella talen också. Och de är ännu fler, nämligen
icke-uppräkneligt många. För att se det kan vi först
påminna oss att vi vet att rationella tal har periodiska
utvecklingar i vilken bas vi än väljer, och detta är
vad som definierar dem. En enkel, men genial, idé
Noteringar
av Cantor från 1800-talet talar om varför det finns
oändligt många irrationella tal. Enklast är det att
genomföra resonemanget i det binära talsystemet, 1. T.ex. förebådade Sirius uppdykande över horisonten i
Egypten att Nilen snart skulle svämma över
därför att där har varje siffra en komplementärsiffra
2. Kanske inte rätt ord. Vad grekerna lyckades bäst med
(0 har 1 och 1 har 0 som komplementärsiffra).
Antag att det finns uppräkneligt många irrationella
tal mellan 0 och 1, och skriv ner en uppräkning av
dem. Vi ska nu definiera ett nytt binärt tal genom
att låta den i:te siffran i listan över talen vara komplementet till den siffra som står på den i:te platsen
i det i:te talets binära utveckling. Detta ger oss ett
nytt tal, och detta tal kan inte vara något av de som
finns i uppräkningen (det skiljer sig med säkerhet på
åtminstone en plats). Men detta ger en motsägelse:
vi antog att vi kunde räkna upp alla talen, men fann
ett som inte kommer med i uppräkningen. Alltså
måste det grundläggande antagandet vara fel, d.v.s
Varför räknar vi som vi gör? Om vårt talsystems historia.
var att skapa en mystik kring talen, och matematik i
allmänhet.
3. Därigenom uppkom matematikens speciella syntax:
den med kopplade påståenden (satser) som kräver
ordentligt strukturerade bevis.
4. I Grekland utfördes beräkningsarbetet av slavar.
5. Detta innebär att vi försöker hitta en gemensam
grundenhet som vi kan mäta allt i, i form av naturliga
tal. I antiken var det underförstått att detta alltid gick
att göra för mätetal, tills grekerna till sin stora chock
upptäckte att det inte var fallet.
6. 20-tal (fingrar och tår) hos bl.a. Maya-indianer och
danskar
•epost: [email protected]
page 12 of 13
7. John Napier var en fanatisk skotsk protestant som
hade två passioner i livet:, han ville krossa katolicismen
och han ville avskaffa beräkningsarbete i dess dåvarande
from och ersätta den med ett rationellt system som var
så enkelt att vem som helst kunde klara det. Ur den
senare passionen kom två betydelsefulla resultat:
Napier’s ben, som mekaniserade multiplikation och
division en hel del, och de oerhört viktiga logaritmerna,
som är en annan historia.
Varför räknar vi som vi gör? Om vårt talsystems historia.
•epost: [email protected]
page 13 of 13