trell.org

Meny for IT-fag

Test dine kunnskaper med Binære og hexadesimale tall - Quiz.

Binære og hexadesimale tall


Titallsystemet
Omregning fra binære tall
Omregning til binære tall
Omregning fra hexadesimale tall
Omregning fra binære til hexadesimale tall
Omregning fra titallsystemet til hexadesimale tall
Bits og bytes
Regning med binære tall
Ascii-tabellen

Titallsystemet

Vi leser tall fra høyre mot venstre, i motsetning til når vi leser tekst. I titallsystemet leser vi "egentlig" slik:

Posisjon 1000-ere 100-ere 10-ere 1-ere
Verdi   1 2 5

Tallet 125 (etthundreogtjuefem) finner vi ved å legge sammen 5 enere + 2 tiere + 1 hundrer. For hver ny posisjon fra høyre mot venstre, multipliserer vi posisjonsverdien med ti.


Omregning fra binære tall

I det binære tallsystemet har vi bare to ulike sifre, 0 og 1. Hver gang man flytter et siffer en posisjon mot venstre, multipliserer vi posisjonsverdien derfor med to.

Posisjon 64-ere 32-ere 16-ere 8-ere 4-ere 2-ere 1-ere
Verdi   1 0 1 0 1 1

Dette binære tallet 101101 leser vi slik - fra høyre mot venstre: 1 ener + 1 toer + 0 firere + 1 åtter + 0 seksten-er + 1 trettito-er, tilsammen 43 (i titallsystemet).

Nå kan du prøve deg på noen oppgaver i å regne om fra binære tall til titallsystemet.


Omregning til binære tall

For å regne om fra titallsystemet til det binære tallsystemet så er det tilstrekkelig å kunne utføre enkle subtraksjoner.

Finn først det høyeste tallet i binærtabellens posisjoner som er mindre enn eller lik det tallet du startet med. Det tallet du nå fant, trekker du fra tallet du startet med. Dermed får du sifferet 1 i denne posisjonen.

Fortsett med å finne det neste tallet i binærtabellens posisjoner som er mindre enn eller lik den differansen du har endt opp med. Trekk fra det tallet du finner og sett sifferet 1 i denne posisjonen. Hvis du må hoppe over noen posisjoner i tabellen, setter du her 0. Fortsett til differensen er 0.

Her er et eksempel:

Tallet 117 skal skrives som binært tall.

a) Den største posisjonen som er mindre enn eller lik 117 er 64. Skriv et ettall i 64-erposisjonen og trekk fra 64:

Posisjon 64-ere 32-ere 16-ere 8-ere 4-ere 2-ere 1-ere
  1            

117 - 64 = 53

b) Den største posisjonen som er mindre enn eller lik 53 er 32. Skriv et ettall i 32-erposisjonen og trekk fra 32:

Posisjon 64-ere 32-ere 16-ere 8-ere 4-ere 2-ere 1-ere
  1 1          

53 - 32 = 21

c) Den største posisjonen som er mindre enn eller lik 21 er 16. Skriv et ettall i 16-erposisjonen og trekk fra 16:

Posisjon 64-ere 32-ere 16-ere 8-ere 4-ere 2-ere 1-ere
  1 1 1        

21 - 16 = 5

d) Den største posisjonen som er mindre enn eller lik 5 er 4. Du hopper derfor over 8-erposisjonen ved å skrive en null der. Skriv et ettall i 4-erposisjonen og trekk fra 4.

Posisjon 64-ere 32-ere 16-ere 8-ere 4-ere 2-ere 1-ere
  1 1 1 0 1    

5 - 4 = 1

d) Den største posisjonen som er mindre enn eller lik 1 er 1. Du hopper derfor over 2-erposisjonen ved å skrive en null der. Skriv et ettall i 1-erposisjonen og trekk fra 1. Du får 0 i rest, og er ferdig

Posisjon 64-ere 32-ere 16-ere 8-ere 4-ere 2-ere 1-ere
  1 1 1 0 1 0 1

Dermed har vi at tallet 117 skrives 1110101 som binært tall. Kontroller at dette resultatet er riktig ved å regne om som i avsnittet Omregning fra binære tall.

Nå kan du prøve deg på noen oppgaver i å regne om fra titallsystemet til binære tall.


Omregning fra hexadesimale tall

I det hexadesimale tallsystemet har vi 16 forskjellige sifre, disse: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. De nye sifrene er slik at A er 10 i titallsystemet, B er 11, C er 12, D er 13, E er 14 og F er 15 (alt i titallsystemet). Hver ny posisjon mot venstre i omregningstabellen medfører dermed at vi multipliserer med 16:

4096-ere 256-ere 16-ere 1-ere
    B D

Det hexadesimale tallet BD leser vi da slik:

  D enere, dvs 13 * 1 , dvs 13
+ B 16-ere, dvs 11 * 16, dvs 176
= Tilsammen 189

Nå kan du prøve deg på noen oppgaver i å regne om fra hexadesimale tall til titallsystemet.


Omregning fra binære til hexadesimale tall

Legg merke til at det binære tallet 1111 er i hex F.
Det binære tallet 10000 er i hex 10.

Dette innebærer at én posisjon i det binære systemet tilsvarer fire posisjoner i hex. Har vi et lengre binært tall, kan vi dermed dele dette inn i grupper på fire sifre og regne om hvert siffer for seg til hex.

Eksempel:

Binært: 110100101010
Vi grupperer først

bin 1101 0010 1010

Deretter regner vi om hver gruppe til hex

bin 1101 0010 1010
hex D 2 A

Dermed har vi:
1101 0010 1010 bin = D2A hex

Nå kan du prøve deg på noen oppgaver i å regne om fra binære til hexadesimale tall.


Omregning fra titallsystemet til hexadesimale tall

Her kan vi da velge mellom to metoder. Vi kan først regne om fra titallsystemet til det binære systemet som ovenfor, og deretter fra det binære til det hexadesimale systemet, igjen som ovenfor.

Alternativt kan vi regne om direkte fra titallsystemet til det hexadesimale systemet. Da får vi igjen bruk for følgende tabell:

65536-ere 4096-ere 256-ere 16-ere 1-ere
         

Nå må vi finne det største tallet i denne tabellen som er mindre enn eller lik det tallet vi vil regne om. Deretter må vi dividere disse to tallene med hverandre og finne resten.

Eksempel:

13478 skal skrives om til hex.

13478 er større enn 4096 men mindre enn 65536.

13478 / 4096 = 3 rest 1190

Vi skriver tallet 3 i posisjonen for 4096-ere:

65536-ere 4096-ere 256-ere 16-ere 1-ere
  3      


resten, 1190 er større enn 256.

1190 / 256 = 4 rest 166

Vi skriver tallet 4 i posisjonen for 256-ere:

65536-ere 4096-ere 256-ere 16-ere 1-ere
  3 4    

166 er større enn 16.

166 / 16 = 10 rest 6. 10 er A i hex

Vi skriver en A i posisjonen for 16-ere:

65536-ere 4096-ere 256-ere 16-ere 1-ere
  3 4 A  

Resten er nå 6.

6 / 1 = 6

Vi skriver tallet 6 i posisjonen for 1-ere:

65536-ere 4096-ere 256-ere 16-ere 1-ere
  3 4 A 6

Vi har dermed at 13478 i titallsystemet er 34A6 i hex.

Nå kan du prøve deg på noen oppgaver i å regne om fra titallsystemet til hexadesimale tall.


Bits og bytes

Vi vet at en byte er 8 bits.

En byte: 1111 1111
En annen byte: 0011 0111

Legg merke til at det er vanlig også å skrive innledende 0-er når vi noterer bytes.

I hex ville disse to bytene blitt notert slik:

1111 1111 = FF
0011 0111 = 37

En byte er den lagringsplass som er nødvendig for å lagre ett tegn i pc-verdenen. Tegnet "a" f eks (liten a), representeres med byten 0110 0001 eller 61 i hex. Tegnet "M" (stor M) representeres med byten 0100 1101 eller 4D i hex.

Et tegn i pc-verdenen er altså representert med en byte, som er 8 sifre binært notert eller 2 sifre notert i hex.

La oss reflektere litt over muligheten av å lage tosifrede tall i hex. Én sifferposisjon representerer 16 mulige verdier, nemlig én av disse: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Nå skal vi forsøke oss med to sifferposisjoner. Siden hver posisjon representerer 16 mulige verdier, så må to posisjoner representere 16 * 16 (162) mulige verdier, dvs 256 mulige verdier.

Av dette kan vi konkludere at det finnes nøyaktig 256 ulike tegn i pc-verdenen. Vi husker jo at et tegn representeres ved en byte, og en byte er to sifre i hex.

De 32 første tegnene (fra 0 til 1F hex) representerer kontrollkoder som normalt ikke vises på skjermen og som normalt heller ikke kan skrives ut. De fleste av de resterende 224 tegnene er tegn vi kan benytte i en tekst osv.

En liste over alle de 256 tegnene med deres respektive nummer og utseende, kalles Ascii-tabellen. En slik liste med de 128 første tegnene følger nedenfor. De 128 siste tegnene vil variere fra land til land.


Regning med binære tall

Nå kan du såpass mye om de ulike tallsystemene at det kan være på sin plass å forsøke seg på enkel regning med binære tall. Ta for deg noen oppgaver i å summere binære tall, og gjerne også noen oppgaver i å subrahere binære tall.

 

kontakt: