Hexadecimala talsystemet | talsystem bestående av 16 symboler (bas 16)

Det hexadecimala talsystemet, ofta förkortat till "hex", är ett talsystem som består av 16 symboler (bas 16). Standardnummersystemet kallas decimaltal (bas 10) och använder tio symboler: 0,1,2,3,4,5,6,7,8,9. Hexadecimaltal använder decimaltalen och sex extra symboler. Det finns inga numeriska symboler som representerar värden större än nio, så bokstäver från det engelska alfabetet används, närmare bestämt A, B, C, D, E och F. Hexadecimalt A = decimal 10 och hexadecimalt F = decimal 15.

Människor använder oftast decimalsystemet (bas 10) där varje siffra kan ha ett av tio värden mellan noll och tio. Detta beror förmodligen på att människor har tio fingrar på sina händer. Datorer representerar vanligtvis siffror i binärt system (bas 2). I binärsystemet kallas varje "binär siffra" för en bit och kan bara ha ett av två värden: ett eller noll. Eftersom de två möjliga värdena i en enda bit motsvarar en femtedel av den information som kan förmedlas av en decimalsiffras tio möjliga värden, kan binära representationer av heltal kräva många fler (binära) bitar än decimalsiffror.

Till exempel kräver det tresiffriga decimalvärdet 219 åtta bitar för att representeras i binär form (11011011). Människor tycker att det är besvärligt att läsa, komma ihåg och skriva långa strängar av bitar. Hexadecimalt kan grupper av fyra bitar lättare representeras av en enda "hex" siffra, så det binära värdet 11011011 med åtta bitar kräver endast två hexadecimala siffror "DB".

Datorminnet är organiserat som en matris av strängar av bitar som kallas bytes. På moderna datorer innehåller varje byte i allmänhet åtta bitar, vilket kan representeras som två hexadecimala siffror. Ingenjörer och datavetare hänvisar ofta till vart och ett av dessa fyra bitars värde som en nibble (ibland stavat nybble, se datorjargong).

För att undvika förvirring med decimala, oktala eller andra siffersystem skrivs hexadecimala tal ibland med ett "h" efter eller "0x" före talet. Till exempel 63h och 0x63 betyder 63 hexadecimalt.




 

Historia

Till skillnad från moderna datorer hade många av de tidiga datorerna sex bitars bytes. Programmerare av dessa system använde vanligtvis ett alternativt bitgrupperingsschema som kallas oktal. Varje oktalsiffra representerar effektivt tre bitar, och en sexbits byte kan representeras som två oktalsiffror. Tre bitar, som var och en är på eller av, kan representera de åtta siffrorna från 0 till 7: 000 = 0, 001 = 1, 010 = 2, 011 = 3, 100 = 4, 101 = 5, 110 = 6 och 111 = 7.


 

Hexadecimala värden

Hexadecimaltal liknar oktaltalsystemet (bas 8) eftersom de båda systemen lätt kan jämföras med det binära talsystemet. Hexadecimaltal använder en binär kodning med fyra bitar. Detta innebär att varje siffra i hexadecimalt format är samma som fyra siffror i binärt format. Oktal använder ett binärt system med tre bitar.

I decimalsystemet är den första siffran ettans plats, nästa siffra till vänster är tioans plats, nästa siffra är hundraans plats osv. I hexadecimalsystemet kan varje siffra vara 16 värden, inte 10. Detta innebär att siffrorna har ettans plats, sextonans plats och nästa är 256ans plats. Så 1h = 1 decimal, 10h = 16 decimal och 100h = 256 i decimal.

Exempel på värden för hexadecimala tal omvandlade till binära, oktala och decimala tal.

Hex

Binary

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ärt till hexadecimalt

För att ändra ett tal från binär till hexameter används en grupperingsmetod. Det binära talet delas upp i grupper om fyra siffror med början från höger. Dessa grupper omvandlas sedan till hexadecimala siffror enligt diagrammet ovan för de hexadecimala siffrorna 0 till F. För att ändra från hexadecimaltal görs det omvända. De hexadecimala siffrorna ändras var och en till binärsiffror och grupperingen tas vanligtvis bort.

Binary

Grupperingar

Hex

01100101

0110

0101

65

010010110110

0100

1011

0110

4B6

1101011101011010

1101

0111

0101

1010

D75A

När antalet bitar i ett binärt tal inte är en multipel av 4 fylls det med nollor för att göra det. Exempel:

  • binär 110 = 0110, vilket är 6 Hex.
  • binär 010010 = 00010010, vilket är 12 Hex.

Hexadecimalt till decimaltal

Det finns två vanliga sätt att konvertera ett tal från hexadecimalt till decimaltal.

Den första metoden är vanligare när du konverterar den manuellt:

  1. Använd decimalvärdet för varje hexadecimal siffra. För 0-9 är det samma sak, men A = 10, B = 11, C = 12, D = 13, E = 14 och F = 15.
  2. Sammanställ de antal som konverterats i varje steg nedan.
  3. Börja med den minst signifikanta hexadecimala siffran. Det är siffran i den högra änden. Detta blir den första posten i en summa.
  4. Ta den näst minst signifikanta siffran. Den ligger bredvid siffran i den högra änden. Multiplicera siffrans decimalvärde med 16. Lägg till detta till summan.
  5. Gör samma sak med den tredje minst signifikanta siffran, men multiplicera den med 162 (dvs. 16 i kvadrat eller 256). Lägg till den till summan.
  6. Fortsätt för varje siffra och multiplicera varje plats med en annan 16:e potens (4096, 65536 osv.).

 

Plats

6

5

4

3

2

1

Värde

1048576 (165 )

65536 (164 )

4096 (163 )

256 (162 )

16(161 )

1 (160 )


 Nästa metod är vanligare när du konverterar ett tal i en programvara. Den behöver inte veta hur många siffror talet har innan den börjar, och den multiplicerar aldrig med mer än 16, men den ser längre ut på papper.

  1. Använd decimalvärdet för varje hexadecimal siffra. För 0-9 är det samma sak, men A = 10, B = 11, C = 12, D = 13, E = 14 och F = 15.
  2. Sammanställ de antal som konverterats i varje steg nedan.
  3. Börja med den mest signifikanta siffran (siffran längst till vänster). Detta är den första siffran i summan.
  4. Om det finns ytterligare en siffra multiplicerar du summan med 16 och lägger till decimalvärdet för nästa siffra.
  5. Upprepa ovanstående steg tills det inte finns några fler siffror.


Exempel: 5Fh och 3425h till decimal, metod 1

 

5Fh till decimal

Hex

Decimal

5Fh

=

( 5 x 16 )

+

( 15 x 1 )

=

80

+

15

5Fh

=

95

 

3425h till decimal

Hex

Decimal

3425h

=

( 3 x 4096 )

+

( 4 x 256 )

+

( 2 x 16)

+

( 5 x 1 )

=

12288

+

1024

+

32

+

5

3425h

=

13349

Exempel: 5Fh och 3425h till decimal, metod 2

 

5Fh till decimal

Hex

Decimal

summa

=

5

=

(5 x 16) + 15

summa

=

80 + 15 (inga fler siffror)

5Fh

=

95

 

3425h till decimal

Hex

Decimal

summa

=

3

=

(3 x 16) + 4 = 52

summa

=

(52 x 16) + 2 = 834

summa

=

(834 x 16) + 5 = 13349

3425h

=

13349


 

Relaterade sidor

 

Frågor och svar

F: Vad är det hexadecimala siffersystemet?


S: Det hexadecimala talsystemet är ett bas 16-nummersystem som består av 16 symboler.

F: Vilka är de tio symboler som används i decimalsystemet (bas 10)?


S: De tio symboler som används i decimalsystemet (bas 10) är 0,1,2,3,4,5,6,7,8 och 9.

F: Vilka sex extra symboler används i hexadecimalsystemet?


S: Hexadecimal använder bokstäver från det engelska alfabetet - A, B, C, D, E och F.

Fråga: Hur många bitar innehåller en enda byte i moderna datorer?


S: På moderna datorer innehåller varje byte i allmänhet åtta bitar.

F: Vad kallar ingenjörer och datavetare för fyrbitsvärden?


S: Ingenjörer och datavetare kallar fyrabitsvärden för nibbles (ibland stavat nybble).

F: Hur kan man undvika förvirring med andra nummersystem när man skriver hexadecimala tal?


S: För att undvika förvirring med andra siffersystem när man skriver hexadecimala tal kan man lägga till ett "h" efter eller "0x" före talet. Till exempel 63h eller 0x63 betyder 63 hexadecimaltal.

AlegsaOnline.com - 2020 / 2023 - License CC3