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
- Utgå från en tabell med potenser av 2.
- Hitta den största potensen av 2 som är mindre än eller lika med 172.
- Närmaste värde är 27 = 128
- Subtrahera detta värde från talet:
- 172 – 128 = 44
- 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
- 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.
-
- 3210
- 20010
- 3510
- 14310
- 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):
- Rest 0 om talet är jämnt
- 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.
-
- 4910
- 20010
- 14310
- 31010
Lösning steg-för-steg
- Dela talet med 2. Anteckna resten (modulus):
- om talet är jämnt blir resten 0
- om talet är udda blir resten 1
- Upprepa proceduren med heltalskvoten (det som blir kvar efter divisionen) tills kvoten blir 0.
- 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 | |||||||||||||||||