Binära talsystemet


Det binära talsystemet är ett positionsbaserat talsystem, där varje siffra påverkas av sin position i talet. Systemet använder endast två siffror, 0 och 1, vilket innebär att basen är 2.

Varje position i ett binärt tal motsvarar en potens av 2, där exponenten ökar från höger till vänster:

  • 20 = 1
  • 21 = 2
  • 22 = 4
  • 23 = 8, och så vidare.

Antalet positioner beror på hur många bitar som används för att representera talet. Till exempel:

  • 4 bitar kallas en nibble
  • 8 bitar kallas en byte (eller mer korrekt oktett)
Position 13e. 12e. 11e. 10e. 9e. 7e. 6e. 5e. 4e. 3e. 2a. 1a. Decimalt
Exponent 7 6 5 4 3 2 1 0
Potens OSV 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
Nibble 1 1 1 0 14
Byte eller oktett 1 1 1 0 1 0 1 1 235
Fler än 8 bitar 1 0 1 0 0 0 0 1 1 1 1 1295

Konverteringar eller omvandlingar

För att omvandla ett decimalt tal till ett binärt tal kan flera metoder användas. Nedan presenteras två vanliga metoder: subtraktion med potenser av 2 och upprepad division med 2.

Metod 1: subtraktion

Omvandla det decimala talet 172 till binärt. Detta kan skrivas med positionsnotation som: 17210 = x2
Steg-för-steg

  1. Utgå från en tabell med potenser av 2.
  2. Hitta den största potensen av 2 som är mindre än eller lika med 172.
    • Närmaste värde är 27 = 128
  3. Subtrahera detta värde från talet:
    • 172 – 128 = 44
  4. Upprepa processen med det nya värdet:
    • Närmaste potens till 44 är 25 = 32 därmed 44 – 32 = 12
    • Närmaste potens till 12 är 23 = 8 därmed 12 – 8 = 4
    • Närmaste potens till 4 är 22 = 4 därmed  4 – 4 = 0
  5. När resultatet är 0 är omvandling klar.

Resultat

De potenser av 2 som används markeras med 1, medan övriga markeras med 0. Detta ger det binära talet:
17210 = 101011002

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: Konvertering av tal från det decimala talsystemet till det binära talsystemet enligt metod.

    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: Upprepad division med 2

Vid denna metod omvandlas ett decimalt tal till binärt genom att talet upprepade gånger divideras med 2. Vid varje division används heltalsdivision, vilket innebär att endast heltalskvoten sparas till nästa steg.

Om talet inte kan delas jämnt med 2 uppstår en rest (modulus):

  1. Rest 0 om talet är jämnt
  2. Rest 1 om talet är udda

Eventuella decimaldelar som uppstår vid vanlig division (till exempel 0,5) ignoreras, eftersom de istället motsvaras av resten. Divisionen fortsätter tills kvoten blir 0.

Det binära talet fås genom att läsa de sparade resterna nedifrån och upp, från den sista divisionen till den första.

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: Konvertering av tal från det decimala talsystemet till det binära talsystemet enligt metod 2.

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

Lösning steg-för-steg

  1. Dela talet med 2. Anteckna resten (modulus):
    • om talet är jämnt blir resten 0
    • om talet är udda blir resten 1
  2. Upprepa proceduren med heltalskvoten (det som blir kvar efter divisionen) tills kvoten blir 0.
  3. Läs av det binära talet genom att skriva resterna nedifrån och upp.

I tabellen kan modulus (resten) skrivas med tecknet %, till exempel:

  • 49 % 2 = 1 (udda betyder att rest 1)
  • 24 % 2 = 0 (jämnt betyder rest 0)
Division Resultat % Division Resultat % Division Multiplikation % Division Resultat %
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