Datorns matematik

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

Svaret är datorns komponenter och den elektronik som datorn fungerar med. Det är inte min intention att skriva om elektronik utan om ettor och nollor som är viktiga delar i datorns matematik. En etta eller en nolla kallas för bit. En bit är den minsta mängden av information en dator hanterar. Åtta bitar kallas för ett oktett eller en byte, därmed är det korrekt att säga en byte består av åtta bitar även om ett oktett är mer korrekt.

Dagens datorer arbetar med flera antal ettor och nollor (bitar) och de kan räkna ut små som stora tal fruktansvärt snabbt. Tre talsystem används i datorvärlden; binära, hexadecimal och decimala. Det binära talsystemet är det primära talsystemet dok det hexadecimala talsystemet också behövs när antal bitar är för många för att representera tal eller vid uträkningar. Det decimala talsystemet är vi mer bekanta med och när vi använder datorer behöver vi, på en grundnivå, kunna dessa tre talsystem som grundas i ett positionssystem.

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 det menas att två symboler används för att bilda binära tal {0, 1}. Detta gör att basen för det binära talsystemet är just 2. Basen höjs upp till exponenter (0, 1, 2, 3, 4 osv.), antal exponenter beror på antal bitar som används därmed antal positioner. Till exempel 4 bitar kallas för nibble och 8 bitar kallas för byte.

Det binära talsystem grundas precis som andra talsystem i fasta bestämda platser för olika värde. Därmed definitionen av talsystem grundas i ett positionssystem.

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

”Hexadecimal” eller helt enkelt ”hextet” använder bas 16 och det är ett populärt val för att representera långa binära värden eftersom deras format är ganska kompakt och mycket lättare att förstå jämfört med de långa binära strängarna 1 och 0.

Eftersom basen är 16 används 16 olika siffror från 0 till 9 och 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 uttryck 1 i det decimala talsystemet blir talet så här 00000001. Men om vi istället använder 4 bitar blir det talet 0001 eller bara 1 som hexadecimalt eller decimalt tal.

I nästa avsnitt konverterar vi tal mellan binärt och decimalt. Andra omvandlingar ingår inte i kursen.