Movatterモバイル変換


[0]ホーム

URL:


Hopp til innhold
Wikipedia
Søk

Sekstentallsystemet

Fra Wikipedia, den frie encyklopedi

Sekstentallsystemet, bedre kjent somdet heksadesimale tallsystemet, forkortethex, er ettallsystem medgrunntall eller base 16. Navnet «heksadesimal» er en hybrid sammensatt av detgreskehexa (έξι (exi)) for «seks» ogdecimal fra detlatinske ordet for «ti».

Tallsystemet har 16 ulike siffer: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E og F. Det tallsystemet vi bruker til vanlig kallestitallsystemet eller detdesimale system. De heksadesimale sifrene A, B, C, D, E og F representerer titallsystemets verdier 10, 11, 12, 13, 14 og 15.

Når det er tale om uliketallsystemer, bruker matematikeregrunntallet (tallbasen) i senket skrift (subskript) etter tallet. Forrige setning kan da skrives slik: A16 = 1010, B16 = 1110, C16 = 1210, D16 = 1310, E16 = 1410, F16 = 1510. Grunntallet kan eventuelt skrives med bokstaver, på denne formen: Ahex = 10dec.

De første 32 positive heltallene skrives på følgende måte:

Titallsystemet (n10)01234567891011121314151617181920212223242526272829303132
Sekstentallsystemet (n8)0123456789 A B C D E F101112131415161718191A1B1C1D1E1F20

Det heksadesimale tallsystemet er meget nyttig i arbeid meddatamaskiner. Årsaken er at det er nært forbundet medtotallsystemet, bedre kjent som detbinære tallsystemet, som datamaskiner er basert på. Sammenhengen er slik: Siden 16 = 24, kan ethvertfiresifret binært tall skrives som etensifret heksadesimalt tall og omvendt. Firebit (fire binære siffer) kan altså uttrykkes ved ett enkelt heksadesimalt siffer. (Se tabellen nedenfor.) Enbyte som består av 8 bit kan da kompakt angis med et tosifret heksadesimalt tall. Dette er en stor fordel for mennesker, som leser for eksempel «B4» mye lettere enn byten «10110100».

Titallsystemets 0–15 i fire ulike tallsystem

[rediger |rediger kilde]

Tabellen nedenfor viser titallsystemets verdier 0–15 uttrykt i henholdsvis sekstentall-, titall-, åttetall- og totallsystemet.

0hex=0dec=0oct0000
1hex=1dec=1oct0001
2hex=2dec=2oct0010
3hex=3dec=3oct0011
4hex=4dec=4oct0100
5hex=5dec=5oct0101
6hex=6dec=6oct0110
7hex=7dec=7oct0111
8hex=8dec=10oct1000
9hex=9dec=11oct1001
Ahex=10dec=12oct1010
Bhex=11dec=13oct1011
Chex=12dec=14oct1100
Dhex=13dec=15oct1101
Ehex=14dec=16oct1110
Fhex=15dec=17oct1111

Omregning fra heksadesimalt til desimalt og omvendt

[rediger |rediger kilde]

Vi vet fra vanlig titallsmatematikk at et flersifret tall, for eksempel 273, har følgende betydning:

27310 = 2·102 + 7·101 + 3·100 = 200 + 70 + 3 = 273

Når man skal regne om (konvertere) et tall fra heksadesimalt til desimalt går man ut fra samme prinsipp: siffer nr. 1 bakfra skal multipliseres med grunntallet i nullte potens (160=1), siffer nr. 2 med grunntallet i første potens (161=16) osv. Å konvertere det heksadesimale 2D4 til desimalt blir da slik:

2D416 = (2·162 + 13·161 + 4·160)10 = 51210 + 20810 + 410 = 72410

For å konvertere et tall fra titallsystemet til sekstentallsystemet må man gjentatte ganger utføreheltallsdivisjon med grunntallet 16 og merke seg resten, som vist i eksempelet med tallet 724 nedenfor:

HeltalldivisjonRest
724/16 = 454
45/16 = 213 = D16
 2/16 = 02

Så begynner man med restene nedenfra. Tallet 724 blir dermed 2D416 i sekstentallsystemet.

Notasjon i ulike programmeringsspråk

[rediger |rediger kilde]

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

  • Ada og VHDL omslutter heksadesimale tall med «numeriske tegn», f.eks. «16#5A3#». (Merk: Ada godtar denne notasjonen foralle tallsystemer fra 2 til 16, for bådeheltall (integer) ogflyttall.)
  • C,C++ og andre språk med tilsvarende syntaks (sånn somJava) 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 noenAssembler-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 avBASIC bruker prefikset «$», f.eks. «$5A3».
  • Noen versjoner avBASIC prefikserer heksadesimale tall med «&h», f.eks. «&h5A3».
  • ActionScript, programmeringsspråket tilAdobe Flash, omtaler heksadesimale tall med 0x, eks. 0xFFFFFF.

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.

Brøker

[rediger |rediger kilde]

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...

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

Setallsystemer for en oversikt over systemer med andre tallbaser.

Se også

[rediger |rediger kilde]

Referanser

[rediger |rediger kilde]


Oppslagsverk/autoritetsdata
Hentet fra «https://no.wikipedia.org/w/index.php?title=Sekstentallsystemet&oldid=24955942»
Kategori:
Skjult kategori:

[8]ページ先頭

©2009-2026 Movatter.jp