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.