Hexadecimale talsystem | talsystem bestående af 16 symboler (base 16)

Det hexadecimale talsystem, ofte forkortet til "hex", er et talsystem bestående af 16 symboler (base 16). Standardtalsystemet kaldes decimaltal (base 10) og anvender ti symboler: 0,1,2,3,4,5,6,7,8,9. Hexadecimaltalsystemet anvender decimaltallene og seks ekstra symboler. Der findes ingen talsymboler, der repræsenterer værdier større end ni, så der anvendes bogstaver fra det engelske alfabet, nærmere bestemt A, B, C, D, E og F. Hexadecimaltal A = decimal 10, og hexadecimaltal F = decimal 15.

Mennesker bruger for det meste decimalsystemet (base 10), hvor hvert ciffer kan have en af ti værdier mellem nul og ti. Det skyldes sandsynligvis, at mennesker har ti fingre på deres hænder. Computere repræsenterer generelt tal i binært system (base 2). I binærsystemet kaldes hvert "binært ciffer" for en bit og kan kun have en af to værdier: 1 eller 0. Da en enkelt bit med to mulige værdier repræsenterer en femtedel af den information, som et decimalt tals ti mulige værdier kan give, kan binære repræsentationer af heltalsværdier kræve mange flere (binære) bits end decimale tal.

For eksempel kræver den trecifrede decimalværdi 219 otte bits for at blive repræsenteret i binær form (11011011). Mennesker finder det uhensigtsmæssigt at læse, huske og skrive lange strenge af bits. Hexadecimalt kan grupper af fire bits lettere repræsenteres ved hjælp af et enkelt "hex"-ciffer, så den otte bit store binære værdi 11011011 kræver kun to hexadecimale cifre "DB".

Computerhukommelse er organiseret som et array af bitstrenge kaldet bytes. På moderne computere indeholder hver byte normalt otte bits, som praktisk kan repræsenteres som to hexadecimale cifre. Ingeniører og dataloger betegner ofte hver af disse fire bitværdier som en nibble (undertiden stavet nybble, se computerjargon).

For at undgå forvirring med decimale, oktale eller andre talsystemer skrives hexadecimale tal nogle gange med et "h" efter eller "0x" foran tallet. F.eks. betyder 63h og 0x63 63 hexadecimalt.




 

Historie

I modsætning til moderne computere havde mange af de tidlige computere seks bit-bytes. Programmører af disse systemer brugte typisk et alternativt bitgrupperingsskema kaldet oktal. Hvert oktalciffer repræsenterer effektivt tre bits, og en seks-bit-byte kan repræsenteres som to oktalcifre. Tre bits, der hver især er tændt eller slukket, kan repræsentere de otte tal fra 0 til 7: 000 = 0; 001 = 1; 010 = 2; 011 = 3; 100 = 4; 101 = 5; 110 = 6 og 111 = 7.


 

Hexadecimale værdier

Hexadecimalt talsystem ligner det oktale talsystem (base 8), fordi begge systemer let kan sammenlignes med det binære talsystem. Hexadecimaltal anvender en binær kodning på fire bit. Det betyder, at hvert ciffer i hexadecimalt tal er det samme som fire cifre i binært tal. Oktal anvender et binært system med tre bit.

I decimalsystemet er det første ciffer etteren, det næste ciffer til venstre er tieren, det næste er hundredepladsen osv. I hexadecimalt system kan hvert ciffer have 16 værdier, ikke 10. Det betyder, at cifrene har etteren, sekstenpladsen, og det næste ciffer er 256-pladsen. Så 1h = 1 decimal, 10h = 16 decimal, og 100h = 256 i decimal.

Eksempler på værdier af hexadecimale tal konverteret til binære, oktale og decimale tal.

Hex

Binær

oktal

Decimal

0

0

0

0

1

1

1

1

2

10

2

2

3

11

3

3

4

100

4

4

5

101

5

5

6

110

6

6

7

111

7

7

8

1000

10

8

9

1001

11

9

A

1010

12

10

B

1011

13

11

C

1100

14

12

D

1101

15

13

E

1110

16

14

F

1111

17

15

10

1 0000

20

16

11

1 0001

21

17

24

10 0100

44

36

5E

101 1110

136

94

100

1 0000 0000

400

256

3E8

11 1110 1000

1750

1000

1000

1 0000 0000 0000

10000

4096

FACE

1111 1010 1100 1110

175316

64206


 

Konvertering

Binær til hexadecimal

Ved at ændre et tal fra binært til hexametre anvendes en grupperingsmetode. Det binære tal opdeles i grupper af fire cifre, der starter fra højre. Disse grupper konverteres derefter til hexadecimale cifre som vist i skemaet ovenfor for de hexadecimale tal 0 til F. For at ændre fra hexadecimaltal gøres det omvendte. De hexadecimale cifre ændres hver især til binære, og grupperingen fjernes normalt.

Binær

Grupperinger

Hex

01100101

0110

0101

65

010010110110

0100

1011

0110

4B6

1101011101011010

1101

0111

0101

1010

D75A

Når antallet af bits i et binært tal ikke er et multiplum af 4, fyldes det op med nuller for at gøre det til et multiplum af 4. Eksempler:

  • binær 110 = 0110, hvilket er 6 Hex.
  • binær 010010 = 0001001010, hvilket er 12 Hex.

Hexadecimalt til decimalt

Der er to almindelige måder at konvertere et tal fra hexadecimalt til decimaltal på.

Den første metode er mere almindelig, når du konverterer den manuelt:

  1. Brug decimalværdien for hvert hexadecimalt ciffer. For 0-9 er det det samme, men A = 10, B = 11, C = 12, D = 13, E = 14 og F = 15.
  2. Opfør en sum af de tal, der er konverteret i hvert trin nedenfor.
  3. Start med det mindst betydende hexadecimale ciffer. Det er det ciffer, der står i højre ende. Dette vil være det første element i en sum.
  4. Tag det næstmindste betydende ciffer. Det ligger ved siden af det tal, der står i højre ende. Multiplicer decimalværdien af cifferet med 16. Læg dette til summen.
  5. Gør det samme med det tredje mindst betydende ciffer, men gang det med 162 (dvs. 16 kvadreret eller 256). Læg det til summen.
  6. Fortsæt for hvert ciffer ved at gange hvert sted med en anden potens af 16. (4096, 65536 osv.)

 

Placering

6

5

4

3

2

1

Værdi

1048576 (16 )5

65536 (16 )4

4096 (16 )3

256 (16 )2

16(16 )1

1 (16 )0


 Den næste metode er mere almindelig, når du konverterer et tal i software. Den behøver ikke at vide, hvor mange cifre tallet har, før den starter, og den ganges aldrig med mere end 16, men den ser længere ud på papiret.

  1. Brug decimalværdien for hvert hexadecimalt ciffer. For 0-9 er det det samme, men A = 10, B = 11, C = 12, D = 13, E = 14 og F = 15.
  2. Opfør en sum af de tal, der er konverteret i hvert trin nedenfor.
  3. Start med det mest betydende ciffer (det ciffer, der står længst til venstre). Dette er det første led i summen.
  4. Hvis der findes et andet ciffer, ganges summen med 16 og tilføj decimalværdien for det næste ciffer.
  5. Gentag ovenstående trin, indtil der ikke er flere cifre.


Eksempel: 5Fh og 3425h til decimal, metode 1

 

5Fh til decimal

Hex

Decimal

5Fh

=

( 5 x 16 )

+

( 15 x 1 )

=

80

+

15

5Fh

=

95

 

3425h til decimal

Hex

Decimal

3425h

=

( 3 x 4096 )

+

( 4 x 256 )

+

( 2 x 16)

+

( 5 x 1 )

=

12288

+

1024

+

32

+

5

3425h

=

13349

Eksempel: 5Fh og 3425h til decimal, metode 2

 

5Fh til decimal

Hex

Decimal

sum

=

5

=

(5 x 16) + 15

sum

=

80 + 15 (ikke flere cifre)

5Fh

=

95

 

3425h til decimal

Hex

Decimal

sum

=

3

=

(3 x 16) + 4 = 52

sum

=

(52 x 16) + 2 = 834

sum

=

(834 x 16) + 5 = 13349

3425h

=

13349


 

Relaterede sider

 

Spørgsmål og svar

Q: Hvad er det hexadecimale talsystem?


A: Det hexadecimale talsystem er et base 16-talsystem, der består af 16 symboler.

Spørgsmål: Hvilke ti symboler anvendes i decimalsystemet (base 10)?


A: De ti symboler, der anvendes i decimalsystemet (base 10), er 0,1,2,3,4,4,5,6,7,8 og 9.

Sp: Hvilke seks ekstra symboler anvendes i hexadecimalt system?


Svar: Hexadecimaltal bruger bogstaver fra det engelske alfabet - A, B, C, D, E og F.

Spørgsmål: Hvor mange bits indeholder en enkelt byte på moderne computere?


A: På moderne computere indeholder hver byte normalt otte bits.

Spørgsmål: Hvad kalder ingeniører og dataloger firebitværdier?


Svar: Ingeniører og dataloger kalder firebitværdier for nibbles (undertiden stavet nybble).

Spørgsmål: Hvordan kan man undgå forvirring med andre talsystemer, når man skriver hexadecimale tal?


A: For at undgå forvirring med andre talsystemer, når man skriver hexadecimaltal, kan man tilføje et "h" efter eller "0x" foran tallet. F.eks. 63h eller 0x63 betyder 63 hexadecimaltal.

AlegsaOnline.com - 2020 / 2023 - License CC3