Sekstentallsystemet

Fra Wikipedia, den frie encyklopedi

Gå til: navigasjon, søk

Sekstentallsystemet (bedre kjent som heksadesimalsystemet, forkortet hex) er et tallsystem som består av 16 ulike siffer, hvor man tar i bruk sifrene 0-9 fra titallsystemet samt bokstavene A-F, hvor A tilsvarer tiltallsystemts 10, B = 11 osv. til F = 15. Dette er et meget nyttig tallsystem for datamaskiner fordi man ved hjelp av fire bit (fire siffer i totallsystemet) kan gi verdien for et siffer i sekstentallsystemet. En byte som består av 8 bit kan dermed kompakt angis med et tosifret tall i sekstentallsystemet.


0hex = 0dec = 0oct 0 0 0 0
1hex = 1dec = 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex = 7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct 1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec = 17oct 1 1 1 1

Desimaltallet 79, hvis binære (totallsystem) representasjon er 01001111, kan skrives som 4F i sekstentallsystemet.

Det er mange måter å betegne heksadesimale tall i ulike programmeringsspråk:

  • Ada og VHDL omslutter heksadesimale tall med «numeriske tegn», f.eks. «16#5A3#». (Merk: Ada godtar denne notasjonen for alle tallsystemer fra 2 til 16, for både heltall (integer) og flyttall.)
  • C, C++ og andre språk med tilsvarende syntaks (sånn som Java) prefikser heksadesimale tall med «0x», f.eks. «0x5A3». 0-tallet i startet blir brukt fordi tall må starte med et numerisk tegn, og «x» står for heksadesimal.
  • Pascal og noen Assembler-kompilatorer indikerer heksadesimaler med en tilføyd «h» (hvis noen av tallene starter med en bokstav, så tilføyer man også «0» i starten), f.eks. «0A3Ch», «5A3h».
  • Andre assembler-kompilatorer (AT&T, Motorola) og noen versjoner av BASIC bruker prefikset «$», f.eks. «$5A3».
  • Noen versjoner av BASIC prefikserer heksadesimale tall med «&h», f.eks. «&h5A3».
  • ActionScript, programmeringsspråket til Adobe Flash, omtaler heksadesimale tall med 0x, eks. 0xFFFFFF.
  • Når man snakker om tallsystemer utenom titallsystemet, eller tall i ulike systemer, bruker matematikere tallbasen i senket skrift etter tallet. F.eks. «5A316» eller «5A3SEKSTEN».

Det finnes ingen enighet om en felles notasjonsstandard, så alle konvensjonene over er i bruk, noen ganger også i samme fremstillng. Forøvrig, siden det er få andre bruksområder for disse, byr dette på lite problemer.

Ordet «heksadesimal» er en hybrid sammensatt fra greske hexa (έξι (exi)) for «seks» og decimal som stammer fra det latinske navnet for «ti». En eldre term var den rent latinske «sexidecimal», men dette ble endret fordi det hørtes ut som «sexy desimal», og fordi det også hadde en alternativ betydning (sekstitallsystemet).

[rediger] Brøker

Sekstentallsystemet er bra til å lage brøker med (begge sider heksadesimaltallsuttrykk):

1/2 = 0.8
1/3 = 0.5555...
1/4 = 0.4
1/5 = 0.3333...
1/6 = 0.2AAAA...
1/8 = 0.2
1/A = 0.19999...
1/C = 0.15555...
1/F = 0.1111...

Fordi tallbasen er kvadratisk, danner heksadesimaler oftere uløselige brøker enn titallsystemet. Repeterende desimaler oppstår når nevneren har en primfaktor som ikke finnes i telleren. I sammenheng med heksadesimale tall, gjelder dette hvis og bare hvis nevneren ikke er en toer-potens.

Se tallsystemer for en oversikt over systemer med andre tallbaser.