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. 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 213 212 211 210 29 28 27 26 25 24 23 22 21 20 Decimalt
Vikt 8192 4096 2048 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 1 1 1 0 0 1 0 0 0 0 1 1 1 1 14607

Konverteringar eller omvandlingar

För att konvertera eller omvandla ett decimal tal till ett binärt tal kan användas olika metoder. Här demonstreras två av de metoderna:

Exempel: Omvandla det decimala talet 172 till binärt. Detta kan betecknas också så här: 17210 = X2

Metod 1 Subtraktion: Först använder vi en liknande tabell som ovan:

29 28 27 26 25 24 23 22 21 20
Vikt/positionsvärde 512 256 128 64 32 16 8 4 2 1
Hitta närmaste talet x x x x
Subtrahera 172 – 128 44 – 32 12 – 8 4 – 4
44 12 4 0
Binära talet 1 0 1 0 1 1 0 0

Svar: 17210 = 101011002

Övning 1: Omvandla tal från det decimala talsystem till  det binära talsystem.

  1. 3210
  2. 20010
  3. 3510
  4. 14310
  5. 55610

Lösning för övning 1: Hitta närmaste eller lika med talet i tabellen och subtrahera. Upprepa proceduren.

210 29 28 27 26 25 24 23 22 21 20
Vikt/positionsvärde 1024 512 256 128 64 32 16 8 4 2 1
3210
Hitta närmaste talet x
Subtrahera 32-32
0
Binära talet 1 0 0 0 0 0
20010
Hitta närmaste talet x x x
Subtrahera 200-128 72-64 8-8
72 8 0
Binära talet 1 1 0 0 1 0 0 0
3510
Hitta närmaste talet x x x
Subtrahera 35-32 3-2 1-1
3 1 0
Binära talet 1 0 0 0 1 1
14310
Hitta närmaste talet x x x x x
Subtrahera 143-128 15-8 7-4 3-2 1-1
15 7 3 1 0
Binära talet 1 0 0 0 1 1 1 1
55610
Hitta närmaste talet x x x x
Subtrahera 556-512 44-32 12-8 4-4
44 12 4 0
Binära talet 1 0 0 0 1 0 1 1 0 0

Metod 2: Dela talet med 2, om resultatet är jämt då är Modulus noll. Men om resultatet har decimaler som är minst 5 eller högre ger som Modulus en 1 och du drar av decimaldelen innan du fortsätter med divisionen. Omvandlingen är Modulus nerifrån uppåt (se pilen uppåt), då läses värden från botten till toppen.

Division Resultat Modulus  
172 / 2 86,0 0
86 / 2 43,0 0
43 / 2 21.5 1
21 / 2 10.5 1
10 / 2 5.0 0
5 / 2 2.5 1
2 / 2 1.0 0
1 / 2 0.0 1
17210 101011002    

Övning 2: Omvandla tal från det decimal talsystem till  det binär talsystem.

  1. 4910
  2. 20010
  3. 14310
  4. 31010

Lösning för övning 2: Dividera talet med 2. Om det decimala delen i resultatet är lika eller större än 5 anteckna en 1, annars 0. Upprepa proceduren med heldelen av talet tills det blir 0. Det binära talet läses av nerifrån uppåt. I tabellen antecknas Modulus som procenttecken.

Division = % Division = % Division = % Division = %
49 / 2 24.5 1 200 / 2 100.0 0 143 / 2 71.5 1 310 / 2 155.0 0
24 / 2 12.0 0 100 / 2 50.0 0 71 / 2 35.5 1 155 / 2 77.5 1
12 / 2 6.0 0 50 / 2 25.0 0 35 / 2 17.5 1 77 / 2 38.5 1
6 / 2 3.0 0 25 / 2 12.5 1 17 / 2 8.5 1 38 / 2 19.0 0
3 / 2 1.5 1 12 / 2 6.0 0 8 / 2 4.0 0 19 / 2 9.5 1
1 / 2 0 1 6 / 2 3.0 0 4 / 2 2.0 0 9 / 2 4.5 1
4910 1100012   3 / 2 1.5 1 2 / 2 1.0 0 4 / 2 2.0 0
1 / 2 0 1 1 / 2 0 1 2 / 2 1.0 0
20010 110010002   14310 100011112   1 / 2 0 1
31010 100110110

Decimala tal till binära

Hittills har vi omvandlat decimala heltal till binära tal. Nu omvandlar vi decimaltal som har heldelen och decimaldelen till binära tal till exempel 13.37510. Se tabellen nedan som inkluderar tal som har decimaldelen.

…. 29 28 27 26 25 24 23 22 21 20 . 2-1 2-2 2-3 2-4 2-5
512 256 128 64 32 16 8 4 2 1 . 1/2 1/4 1/8 1/16 1/32
. 0.5 0.25 0.125 0.0625 0.03125
13.37510 1 1 0 1 . 0 1 1

Det finns säker flera andra metoder, men tabellen ovan tycker jag att den hjälper effektivt. Nackdelen är att man måste ha tabellen till hands.

Metod 1: Separera hel del och decimaldelen och omvandla de separat, se tabellen ovan.

Metod 2: En annan lösning för att 13.37510 konverteras till binära tal är följande:

  1. Omvandla heldelen och decimaldelen separat.
  2. Heldelen divideras med 2 och när decimaldelen är .5 antecknas en 1 i kolumnen Modulus (%), annars 0.
  3. Upprepa proceduren tills heldelen går inte att dividera med 2
  4. Anteckna heldelen som binär genom att läsa kolumnen Modulus nerifrån uppåt.
  5. Decimaldelen multipliceras med 2 och antecknar heldelen i Modulus.
  6. Upprepa proceduren tills den decimala delen är noll.
  7. Resultatet med ettor och nollor läses uppifrån nedåt.
Division = %   . Multiplikation = %
13 / 2 6.5 1 0.375 x 2 0.75 0
6 / 2 3.0 0 0.75 x 2 1.5 1
3 / 2 1.5 1 0.5 x 2 1.0 1
1 / 2 0 1
13.37510 1101   . 011

Övning 3: Omvandla decimala bråktal till binära tal

  1. 27.37510
  2. 33.7510
  3. 54.12510
  4. 47.87510

Lösningen enlig metoden ovan frågorna:

Division = % * = % Division = % * = %
27 / 2 13.5 1 0.375 x 2 0.75 0 33 / 2 16.5 1 0.75 x 2 1.5 1
13 / 2 6.5 1 0.75 x 2 1.5 1 16 / 2 8.0 0 0.5 x 2 1.0 1
6 / 2 3.0 0 0.5 x 2 1.0 1 8 / 2 4.0 0
3 / 2 1.5 1 4 / 2 2.0 0
1 / 2 0 1 2 / 2 1.0 0
27.37510 11011.0112 1 / 2 0 1
33.7510 100001.112  
54 / 2 27.0 0 0.125 x 2 0.25 0 47 23.5 1 0.875 x 2 1.75 1
27 / 2 13.5 1 0.25 x 2 0.5 0 23 11.5 1 0.75 x 2 1.5 1
13 / 2 6.5 1 0.5 x 2 1.0 1 11 5.5 1 0.5 x 2 1.0 1
6 / 2 3.0 0 5 2.5 1
3 / 2 1.5 1 2 1.0 0 0  
1 / 2 0 1 1 0 1
54.12510 110110.0012 47.87510 101111.1112  

Tabellen nedan hjälper vid konverteringar från det binära talsystem till det decimala talsystem.

28 27 26 25 24 23 22 21 20 . 2-1 2-2 2-3 2-4 2-5 2-6
256 128 64 32 16 8 4 2 1 . 1/2 1/4 1/8 1/16 1/32 1/64
. 0.5 0.25 0.125 0.0625 0.03125 0.015625

Annars finns det andra sätt att konvertera. Till exempel talet 1012
1012 = (1 x 22) + (0 x 21) + (1 x 20) = (1 x 4) + (0 x 2) + (1 x 1)= 4 + 0 1 = 510