Heksadesimalt tallsystem


Det heksadesimale tallsystemet (ofte forkortet som hex eller hex ) er et posisjoneltallsystem med base 16 , noe som betyr at det bruker 16 symboler i stedet for 10 i det tradisjonelle desimaltallsystemet . For heksadesimal brukes symboler fra 0 til 9 vanligvis for de første ti sifrene, og deretter bokstavene fra A til F for de neste seks sifrene, for totalt 16 symboler. [1]

Representasjon

Her er en tabell som sammenligner de heksadesimale, desimale, oktale og binære representasjonene av tall opp til 15:

0 hex = 0 des = 0 okt 0 0 0 0
1 hex = 1 des = 1 okt 0 0 0 1
2 hex = 2 des = 2 okt 0 0 1 0
3 hex = 3 des = 3 okt 0 0 1 1
4 hex = 4 des = 4 okt 0 1 0 0
5 hex = 5 des = 5 okt 0 1 0 1
6 hex = 6 des = 6 okt 0 1 1 0
7 hex = 7 des = 7 okt 0 1 1 1
8 hex = 8 des = 10 okt 1 0 0 0
9 hex = 9 des = 11 okt 1 0 0 1
En hex = 10 des = 12 okt 1 0 1 0
B hex = 11 des = 13 okt 1 0 1 1
C hex = 12 des = 14 okt 1 1 0 0
D hex = 13 des = 15 okt 1 1 0 1
Og hex = 14 des = 16 okt 1 1 1 0
F hex = 15 des = 17 okt 1 1 1 1

Derfor kan desimaltallet 143, hvis binære representasjon er 1000 1111, skrives som 8F i heksadesimal.

Datavitenskap

Det heksadesimale systemet er mye brukt i informatikk , på grunn av dets direkte forhold mellom et heksadesimalt siffer og fire binære sifre. Det brukes ofte som mellomledd, eller som et frittstående nummersystem. For eksempel er det mulig å uttrykke en byte med nøyaktig to heksadesimale sifre (i stedet for tre desimaler). Det er faktisk interessant å merke seg hvordan hvert heksadesimalt siffer tilsvarer en nibble , det vil si et binært tall på fire sifre.

Det er mange måter å betegne et tall som heksadesimalt, brukt i forskjellige programmerings- og maskinvarebeskrivelsesspråk:

Det er ikke noe standardsymbol, så alle konvensjonene oppført ovenfor brukes, og noen ganger kan den samme artikkelen inneholde to forskjellige konvensjoner. Det er imidlertid ikke mye forvirring fordi alle er entydige.

Ordet "heksadesimal" er særegent, fordi prefikset hex er avledet fra det greske έξι (exi) (som betyr seks ), og desimal kommer fra det latinske ordet for ti .

Konverteringer med andre tallsystemer

Desimalsystem

En metode for å konvertere et heksadesimalt tall til et desimal er å multiplisere sifrene med potensene til grunntall 16. For eksempel 4F hvor F er 15 (se tabellen ovenfor):

derfor . (Husk at 16 0 = 1).

Så .

Den omvendte operasjonen - fra desimal til heksadesimal - gjøres med en rekke påfølgende inndelinger. Inndeling med resten brukes. La oss se et eksempel:

så rundes resultatet ned. Nå må vi finne resten, den enkleste måten er å multiplisere desimaldelen med divisoren til forrige operasjon :. Til slutt må nummeret slås i heksadesimalt system: 4 er indikert med symbolet 4, 15 med symbolet F: 4F .

Et annet eksempel:

FB3 i heksadesimal tilsvarer tallet 4019 i desimaltall. Ja det har det

Omvendt, la oss konvertere 4019 til heksadesimal:

4019 ÷ 16 = 251 med resten 3.

(Resten 3 er gitt ved å dele delen foran kommaet ytterligere med 16, så: 4019: 16 = 251,1875. Så gjør 0,1875 x 16 = 3.)

Kvotienten 251 er igjen delt med 16,

251 ÷ 16 = 15 med resten 11.

(Resten 11 er gitt ved å dele delen foran kommaet ytterligere med 16, så: 251: 16 = 15,6875. Så gjør 0,6875 x 16 = 11.)

Kvotienten 15 er mindre enn basen 16 og divisjonsprosessen stopper.

Vi skriver tallet fra det siste oppnådde resultatet og går opp sekvensen av restene. Det heksadesimale tallet er 15-11-3

dvs. FB-3

som er skrevet FB3 .

Binært system

Grunnen til at det brukes i informatikk er at det heksadesimale systemet kan betraktes som en mer kompakt skrift enn det binære systemet. Konverteringen fra base 16 til base 2 og vice versa kan utføres ved å erstatte grupper av sifre i stedet for med divisjonsalgoritmer.

Tenk for eksempel på følgende base 16-tall: A16BC9 16 . For å konvertere det til base 2, ta ganske enkelt hvert heksadesimalt siffer og erstatte det med dets ekvivalent i det binære systemet, som rapportert i høyre kolonne i den innledende tabellen. Etter denne prosedyren oppnås følgende resultat:

A16BC9 16 = TIL 1 6 B. C. 9 16
= 1010  0001  0110  1011  1100  1001 2
= 101000010110101111001001 2

For å oppnå motsatt konvertering, er det imidlertid nødvendig å fortsette på motsatt måte: del det binære tallet i grupper med 4 sifre fra høyre (hvis den siste gruppen inneholder mindre enn 4 sifre, så mange nuller som nødvendig for å fullføre det må stå foran) og erstatte hver gruppe med sin heksadesimale ekvivalent. Anta for eksempel at du konverterer base 2 til base 16: 100101111111001011 2 . Ved å utføre operasjonene beskrevet ovenfor, har vi:

10 0101 1111 1100 1011 2 = 00 10  0101  1111  1100  1011 2
= 2 5 F. C. B 16
= 25FCB 16

Brøker

Det heksadesimale systemet, som ethvert posisjonsnummereringssystem, tillater også at brøker kan representeres som tall med komma: disse representasjonene kan være begrenset eller ubegrenset periodisk , på samme måte som desimal bokstaver. Noen eksempler:

1/2 = 0,8: begrenset heksadesimalt tall
1/3 = 0,555 ... = : periodisk ubegrenset heksadesimalt tall
1/4 = 0,4
1/5 = 0,333 ... = : periodisk (enkel)
1/6 = 0,2AAA ... = : periodisk (blandet)
1/8 = 0,2
1 / A = 0,1999 ... = : periodisk (blandet)
1 / C = 0,1555 ... = : periodisk (blandet)
1 / F = 0,111 ... = : periodisk (enkel)

Siden grunntall 16 er en potens av 2, har bare brøker som har potensen 2 som nevner en begrenset representasjon . Faktisk gjentas sifrene når nevneren inneholder en primfaktor som ikke finnes i basen. Når det gjelder heksadesimale tall, skjer dette hvis og bare hvis nevneren ikke er en potens av to . Følgelig er periodiske heksadesimale brøker hyppigere enn i desimal (10 innrømmer 2 og 5 som primfaktorer).

Irrasjonelle tall kan representeres som ubegrensede aperiodiske heksadesimale tall, akkurat som i desimaltall.

Til slutt, på samme måte som tilfellet med periode 9 på base 10 , har vi :.

Merknader

  1. ^ Heksadesimalt system , på youmath.it . Hentet 17. desember 2018 (Arkiveret fra originalen 17. desember 2018) .

Relaterte elementer

Andre prosjekter