Datorns matematik

Vad menas med att datorer ”pratar” ettor och nollor och att deras matematik görs också med ettor och nollor?

Datorer använder ettor och nollor, även kallade binära tal, som grunden för all deras databehandling. En etta eller en nolla kallas för en bit, vilket är den minsta enheten av information en dator kan hantera. Åtta bitar bildar tillsammans en byte, även kallad en oktett, vilket gör det korrekt att säga att en byte består av åtta bitar.

Dagens datorer arbetar med många bitar samtidigt och kan därför utföra beräkningar, både små och stora, otroligt snabbt. Tre huvudsakliga talsystem används i datorvärlden: det binära, det hexadecimala och det decimala talsystemet. Det binära talsystemet är det primära talsystemet som datorer använder internt, eftersom det är enklast att representera elektroniskt. Det hexadecimala talsystemet används ofta för att göra långa binära tal mer hanterbara och för att underlätta vissa typer av beräkningar. Det decimala talsystemet är det vi människor är mest bekanta med och används därför ofta vid interaktion med datorer på en grundläggande nivå.

Att förstå dessa tre talsystem är viktigt för att kunna arbeta med datorer på ett effektivt sätt, eftersom de alla är grundade i ett positionssystem där värdet av en siffra beror på dess position i talet.

Positionstalsystem

Ett talsystem som decimalt, binärt och hexadecimalt är positionstalsystem i vilket varje position har ett specifikt värde.

Decimalt ….. 1010 109 108 107 106 105 104 103 102 101 100
1000000 100000 10000 1000 100 10 1
Binärt ….. 210 29 28 27 26 25 24 23 22 21 20
1024 512 256 128 64 32 16 8 4 2 1
Hexadecimalt 1610 169 168 167 166 165 164 163 162 161 160
16777216 1048576 65536 4096 256 16 1

Binärt talsystem

Ordet ”bi” betyder två och indikerar att två symboler, {0, 1}, används för att bilda binära tal. Därför har det binära talsystemet basen 2. Basen höjs upp till exponenter (0, 1, 2, 3, 4 osv.), och antalet exponenter beror på antalet bitar som används, vilket också bestämmer antalet positioner. Till exempel kallas 4 bitar för en nibble och 8 bitar för en byte.

Det binära talsystemet, liksom andra talsystem, är baserat på ett positionssystem där varje plats representerar ett specifikt värde. Värdet på varje position bestäms av basen (2 för binära systemet) upphöjt till positionens exponent. Detta gör att talsystemet är ordnat och varje siffra har en fast bestämd plats med ett motsvarande värde.

Positionsvärde 210 29 28 27 26 25 24 23 22 21 20 Decimalt
Vikt 1024 512 256 128 64 32 16 8 4 2 1
Nibble 1 1 1 0 14
Byte eller oktett 1 1 1 0 1 0 1 1 235
Mer än 8 bitar 0 0 1 0 0 0 0 1 1 1 1 14607

Hexadecimal talsystem

Hexadecimalt (eller helt enkelt ”hextet”) använder basen 16 och är ett populärt val för att representera långa binära värden eftersom dess format är kompakt och mycket lättare att förstå jämfört med långa binära strängar av 1 och 0.

Eftersom basen är 16 används 16 olika siffror från 0 till 9 och bockstäverna A (10), B (11), C (12), D (13), E (14), F (15).

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F

Om vi skulle använda 8 bitar för att uttrycka talet 1 i det decimala talsystemet blir talet 00000001 i binär form. Men om vi istället använder 4 bitar blir talet 0001, vilket representerar 1 både i hexadecimalt och decimalt format.

I nästa avsnitt kommer vi att konvertera tal mellan olika talsystem.