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.