Tallsystemer

Titallsystemet

Som mennesker er vi vant med å regne med 10 som grunntall, vi bruker titallsystemet (desimalsystemet). Dette kommer formodentlig av at mennesket har 10 fingre, og derved er i stand til å representere 10 ulike sifre uten ekstra hjelpemidler. De 10 sifrene er de velkjente symbolene 0, 1, 2, 3, 4, 5, 6, 7, 8 og 9.

Tallsystemet vårt er et posisjonssystem, hvor verdien av hvert siffer avhenger av hvor i tallet sifferet er plassert. I tallet 782, for eksempel, representerer sifferet 7 'syv hundre', 8 representerer 'åtti', og 2 representerer 'to'. Sifferet lengst til høyre representerer enere, det neste tiere, deretter hundrere, etc.

Vi ser at sifferverdien (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) multipliseres med tallsystemets grunntall (10) opphøyd i sifferets posisjonsnummer. Enerplassen regnes som posisjon null. 782 betyr altså 7·102 + 8·101 + 2·100 = 7·100 + 8·10 + 2·1.

Totallsystemet

Et annet viktig posisjonssystem er totallsystemet (binærsystemet), der vi bruker 2 som grunntall. I totallsystemet anvendes bare to sifre, 1 og 0, og de ulike posisjonene representerer 1, 2, 4, 8, etc. i stedet for titallsystemets 1, 10, 100, 1000, etc. Helt analogt med titallsystemet multipliseres sifferverdien (0, 1) med tallsystemets grunntall (2) opphøyd i sifferets posisjonsnummer. 1101 betyr for eksempel 1·23+ 1·22 + 0·21 + 1·20 = 1·8 + 1·4 + 0·2 + 1·1 = 13 i titallsystemet.

For å angi hvilket tallsystem en arbeider i, brukes et lite subskript. 2 for totallsystemet, 10 for titallsystemet, etc. For eksempel betyr 11012 = 1310 at 1101 i totallsystemet er lik 13 i titallsystemet.

Siden det bare er to sifre i totallsystemet, kan en lett representere tall fysisk ved å la 1 bety at noe er til stede, og 0 at noe ikke er til stede. Dette er illustrert på bildet under, ved hjelp av egg i en eggekartong. Her ligger det egg i de fire posisjonene lengst til venstre, mens de to til høyre er tomme. Tallet dette symboliserer blir derved 1111002. Skulle en representert det samme i titallsystemet, måtte en innført et innfløkt system der for eksempel rødt egg betydde 1, blått egg 2, grønt egg 3, etc.

Egg som illustrerer 111100 i totallsystemet
 

Datamaskiner representerer tall som fysiske enheter, selv om det ikke er egg. I DRAM-minne for eksempel, betyr "elektriske ladning" 1, og "ingen ladning" 0. Skulle en operert i titallsystemet, måtte en holdt rede på 10 forskjellige ladningsnivåer, like innviklet som 10 fargede egg.

En annen stor fordel med totallsystemet, er at regneoperasjonene er svært enkle. Regnereglene for addisjon er slik:

0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 0 og 1 i mente

Multiplikasjon i totallsystemet er like enkelt. Gangetabellen ser slik ut:

  0 1 10
0 0 0 0
1 0 1 10
10 0 10 100

På grunn av den enkle måten å representere tall på, og de enkle regnereglene, arbeider de aller fleste datamaskiner i totallsystemet, de er binære.

Skal en gjøre operasjoner på flere tall, kan en ta for seg to tall av gangen. For å addere tre tall for eksempel, adderer en først to av dem, og adderer deretter summen til det siste tallet.

Regneeksempler

Akkurat som i titallsystemet, adderer en to binære tall ved å addere kolonne for kolonne, fra høyre mot venstre. Eksemplet under viser skritt for skritt prosedyren med å utføre addisjonen 101012 + 11012 = 100102. I titallsystemet tilsvarer det 2110 + 1310 = 3410.

Multiplikasjon kan en også utføre som i titallsystemet. En multipliserer tallet til venstre med hvert siffer av tallet til høyre, setter resultatene under hverandre, og summerer. Eksemplet under viser skritt for skritt prosedyren med å utføre multiplikasjonen 1010012 · 1102 = 111101102. I titallsystemet tilsvarer det 4110 · 610 = 24610.

Sekstentallsystemet

Totallsystemet er kjekt for datamaskiner, men ikke så lett for mennesker å håndtere, fordi sekvensene av ettall og nuller fort blir lange og tungvinte. For mennesker er titallsystemet mye mer praktisk. Det er for eksempel atskillig enklere å tolke tallet 128583 i titallsystemet, enn motparten i totallsystemet: 11111011001000111.

Totallsystemet brukes derfor sjelden i skriftlig materiale. Men hvis en ønsker å vise hvordan tall representeres i en datamaskin, er titallsystemet heller ikke særlig velegnet. Dersom en f.eks. øker tallet 11112 med 1, får en 100002, en endring som overhodet ikke gjenspeiles i at 1510 blir til 1610.

En slår derfor i stedet sifrene i totallsystemet sammen i grupper på fire, og representerer hver gruppe med ett enkelt symbol. En slik gruppe på fire sifre kan representere 16 forskjellige tall, og et slikt tallsystem kalles derfor sekstentallsystemet (heksadesimalsystemet). For de første10 sifrene brukes de vanlige symbolene 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Men så eksisterer det ikke flere tallsymboler. En kunne selvfølgelig oppfunnet nye symboler for å representere de neste 6 sifrene, men i stedet har en valgt å bruke bokstavene A, B, C, D, E og F. Dette er illustrert i tabellen under.

00002=016 00012=116 00102=216 00112=316
01002=416 01012=516 01102=616 01112=716
10002=816 10012=916 10102=A16 10112=B16
11002=C16 11012=D16 11102=E16 11112=F16

 

I sekstentallsystemet vil en endring fra 11112 til 100002, vises ved at F16 blir til 1016. I motsetning til titallsystemet, gjenspeiler sekstentallsystemet at sifrene i posisjon 0, 1, 2 og 3 er blitt satt til 0, og sifferet i posisjon 4 er blitt satt til 1.

Sekstentallsystemet er et posisjonssystem hvor sifferverdien (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) multipliseres med tallsystemets grunntall (16) opphøyd i sifferets posisjonsnummer. 3F6 betyr for eksempel 3 ·162 + 15 ·161 + 6 ·160 = 3 · 256 + 15 ·16 + 6 ·1 = 1014 i titallsystemet.

Omregning mellom tallsystemene

Fra totallsystemet til titallsystemet

Multipliser sifferet lengst til høyre med 20, neste siffer med 21, neste med 22, etc., og adder resultatet.
Eksempel: 101012 = 1 · 20 + 0 · 21 + 1 · 22 + 0 · 23 + 1 · 24 = 1 · 1 + 0 · 2 + 1 · 4 + 0 · 8 + 1 · 16 = 2110.

Fra titallsystemet til totallsystemet

Del tallet på to. Blir det en rest, skriv 1. Blir det ingen rest, skriv 0. Stryk resten og del på to på nytt. Skriv 1 eller 0 til venstre for forrige siffer, alt etter om det ble rest eller ikke.
Gjenta operasjonen inntil det står null igjen.

Eksemplet under viser hvordan en regner om 1310 til 11012:

Desimalt   Rest?   Binært
13 : 2  = 6,5    Ja   1
6 : 2  = 3,0    Nei   01
3 : 2  = 1,5    Ja   101
1 : 2  = 0,5    Ja   1101
         

Fra totallsystemet til sekstentallsystemet

Grupper sifrene 4 og 4, fra høyre mot venstre. Dersom siste gruppe har færre enn fire sifre, fyll på med nuller til venstre. Regn om ifølge tabellen i avsnittet om sekstentallsystemet.

Eksempel: 111110110010001112 = 0001 1111 0110 0100 01112 = 1F64716.

Fra sekstentallsystemet til totallsystemet

Ta utgangspunkt i tabellen i avsnittet om sekstentallsystemet, og erstatt hvert siffer med de tilhørende fire sifrene i totallsystemet. Ledende nuller kan strykes.

Eksempel: 2F316 = 0010 1111 00112 = 10111100112.

Fra sekstentallsystemet til titallsystemet

Multipliser sifferet lengst til høyre med 160, neste siffer med 161, neste med 162, etc., og adder resultatet. Husk at A16 = 1010, B16 = 1110, C16 = 1210, D16 = 1310, E16 = 1410, F16 = 1510.

Eksempel: 2F3C16 = 12· 160 + 3· 161 + 15 · 162 + 2 · 163 = 12 · 1 + 3 · 16 + 15 · 256 + 2 · 4096 = 1209210

Fra titallsystemet til sekstentallsystemet

Det enkleste er nok å regne om til totallsystemet først, og deretter til sekstentallsystemet, som beskrevet i avsnittene over. En kan imidlertid bruke teknikken for å regne om fra ti- til totallsystemet til å regne om direkte til sekstentallsystemet. Men en må dele på seksten, og i stedet for å skrive 1 når en får rest, skriver en resten multiplisert med seksten.

Eksemplet under viser hvordan en regner om 1209210 til 2F3C16:

Desimalt Oppmultiplisert rest   Heksadesimalt
12092 : 16  = 755,75    0,75  * 16= 12    C
755 : 16  = 47,1875    0,1875  * 16 = 3   3C
47 : 16  = 2,9375    0,9375  * 16 = 15   F3C
2 : 16  = 0,125    0,125  * 16 = 2   2F3C
           

Omregning med kalkulator

Windows har en kalkulator-app som en får fram ved å åpne Windows-menyen og skrive "kalkulator".Denne kan brukes til å regne om mellom totallsystemet (binært), åttetallsystemet (oktalt), titallsystemet (desimalt) og sekstentallsystemet (heksadesimalt).

Første gang kalkulatoren hentes fram, vises den i modus "Standard", dette endrer vi til "Programmering" i menyen øverst til venstre.

Windows-kalkulator i programmerings-modus

HEX, DEC, OCT og BIN er til å velge tallsystem med, henholdsvis sekstentallsystemet, titallsystemet, åttetallsystemet og totallsystemet. Vil en regne om fra titallsystemet til sekstentallsystemet, for eksempel, klikker en på DEC, skriver inn tallet, og klikker på HEX. Vil en regne om fra totallsystemet til titallsystemet, klikker en på BIN, skriver inn tallet, og klikker på DEC. Kalkulatoren deaktiverer knapper med tall som ikke er gyldige i et gitt tallsystem. Velger en BIN, er således bare 0 og 1 aktivert. Velger en OCT, aktiveres i tillegg 2, 3, 4, 5, 6 og 7. Med DEC kommer også 8 og 9, og med HEX A, B, C, D, E og F.

Kilder

  • Bård Kjos: Innføring i informasjonsteknologi. Tapir Akademisk forlag, Trondheim 2005
  • Wikipedia