Sekstentallsystemet
Fra Wikipedia, den frie encyklopedi
Sekstentallsystemet (også kjent som heksadesimal) 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, og 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 angi et tosifret tall i sekstentallsystemet.
bin hex dec 0000 = 0 = 0 0001 = 1 = 1 0010 = 2 = 2 0011 = 3 = 3 0100 = 4 = 4 ... 1001 = 9 = 9 1010 = A = 10 1011 = B = 11 ... 1111 = F = 15
Så 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».
- 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 standard, så alle konvensjonene over er i bruk, noen ganger også i samme situasjon. Forøvrig, siden det er få andre bruksområder for disse, byr dette på lite på problemer.
Ordet «heksadesimal» er merkelig siden hexa stammer fra gresk έξι (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:
- 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.