Veldig kort om tallsystemer
Det er fire tallsystemer jeg skal ta for meg her: Desimalt, Binært, Hexadesimalt og Oktalt.
Jeg låner tabellen fra blogginnleggt mitt om tallsystemer, der jeg skrev om blant annet notasjon.
Desimalt | Binært | Hexadesimalt | Oktalt |
10 | 2 | 16 | 8 |
Årsaken for at jeg drar inn notasjonstabellen, er at grunntallet brukes i omregninger. For å huske hvordan, må man nesten ha de tallene der i hodet. Desimaltall (titallsystemet) inneholder tegnene 0-9 (10 tall). Binært inneholde 1 eller 0 (2 tall), hexadesimalt inneholder 0-9 + A-F (10 + 6 = 16), oktalt inneholder 0-7 (8 tall).
Binært til desimal tall
Jeg går rett på regnestykket og forklarer etterpå:
11012 = 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1*2^0
11012 = 8 + 4 + 0 + 1
11012 = 1310
For å skjønne regnestykket, tar jeg den første linjen og fargelegger den:
11012 = 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1*2^0
Som man ser, vil der det er 0 i binære tall, legges inn 0 i regnestykket, i motsatt tilfelle 1.
De binære verdiene ganges med grunntallet 2^X, hvor potensen X synker i verdi mot tallet til høyre. Høyeste X-verdi er antall siffer -1 (4 siffer gir 3).
De binære verdiene ganges med grunntallet 2^X, hvor potensen X synker i verdi mot tallet til høyre. Høyeste X-verdi er antall siffer -1 (4 siffer gir 3).
- Potensen til grunntallet er tilsvarende sifferposisjon sett fra høyre (starter med 0).
Årsaken for at jeg poengterer dette, er at man har samme type omregning for heksadesimale til desimale tall, men grunntallet vil jo der være 16, ikke 2.
Omregning fra hexadesimalt tall til desimaltall
5016 = 5 * 16^1 + 0* 16^0
5016 = 80 + 0
5016 = 8010
Vi ser altså at grunntallet 16 nå tas inn i samme regnestykke, ved konvertering fra heksadesimalt til desimaltall. Ellers er det samme logikk, vi tar ett tall om gangen, først tallet 5, dette ganges med grunntallet opphøyd i sifferposisjon, sett fra høyre.
Omregning fra desimale til binære tall
Hvis vi vil finne 5010 på binær form, må vi huske at binære tall er totallsystemet.
Derfor tar vi heltallsdivisjon og samler på rest, helt til svaret blir = 0.
50 : 2 = 25, med rest lik 0
25 : 2 = 12, med rest lik 1
12 : 2 = 6, med rest lik 0
6 : 2 = 3, med rest lik 0
3 : 2 = 1, med rest lik 1
1 : 2 = 0, med rest lik 1
Svaret blir å lese rest oppover, som gir: 5010 = 1100102
Omregning fra desimale til hexadesimale tall
Hvis vi vil finne 3510 på hexadesimal form, må vi huske at hexadesimale tall har 16 tegn.
Derfor tar vi heltallsdivisjon og samler på rest, helt til svaret blir = 0, lik forrige eksempel:
35 : 16 = 2, med rest lik 3
2 : 16 = 0, med rest lik 2
Svaret blir å lese rest oppover, som gir: 3510 = 2316
Heksadesimal verdi av binært tall
Hvis man har et binært tall og man vil slå dette opp i tabell for omregning, skal man først dele opp det binære tallet i grupper à 4 bits.
Eksempel: 111011012
Deles opp i: 11102 11012
Når det er gjort, kan man slå opp i tabellen:
Desimalt | Binært | Hexadesimalt | Oktalt |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 8 | 10 |
9 | 1001 | 9 | 11 |
10 | 1010 | A | 12 |
11 | 1011 | B | 13 |
12 | 1100 | C | 14 |
13 | 1101 | D | 15 |
14 | 1110 | E | 16 |
15 | 1111 | F | 17 |
Her ser vi at: 11102 11012
Har heksadesimal verdi: E16 D16
Sett sammen gruppene: 111011012 = ED16
Binær verdi av heksadesimal tall
Dette blir i stor grad det samme som forrige eksempel, men i motsatt retning.
La oss si at vi har den heksadesimale verdien: 9F16
La oss si at vi har den heksadesimale verdien: 9F16
Først deler vi opp: 916 F16
Slår opp binære verdier: 10012 11112
Setter det sammen: 9F16 = 100111112
Var alt dette gresk? I så tilfelle anbefaler jeg å lese blogginnlegget mitt om sammenhengen og logikken bak tallsystemene.
Ingen kommentarer:
Legg inn en kommentar