Heksaarvud (16-põhine süsteem): definitsioon ja kasutus arvutites

Õpi heksaarvud (baas 16): definitsioon, teisendused, binaar- ja baitistruktuur ning praktiline kasutus arvutites ja programmeerimises.

Heksaarvusüsteem (tuntud ka inglise keeles kui hexadecimal või lühidalt hex) on 16 sümbolist koosnev numbrisüsteem (baas 16). Standardset numbrisüsteemi nimetatakse kümnendsüsteemiks (baas 10), kus kasutatakse sümboleid 0–9. Heksaarvusüsteemis kasutatakse kümnendsüsteemi numbreid 0–9 ning kuut lisasümbolit A, B, C, D, E ja F, mis tähistavad väärtusi 10–15 vastavalt (A = 10, F = 15). Kokkuvõttes võimaldavad 16 sümbolit esindada väärtusi 0 kuni 15 ühe koha kohta.

Miks arvutimaailmas kasutatakse heksaararve?

Inimesed kasutavad igapäevaselt kümnendsüsteemi — see on intuitiivne, tõenäoliselt seoses kümne sõrmega. Arvutid töötavad aga binaarkujul (süsteem 2), kus iga alus on kas sisse või välja (0 või 1). Binaararve on seega nullide ja üksuste jada, näiteks 11011011. Pikaid binaare esitada otse on ebamugav, seetõttu rühmitatakse bitte.

Varasemalt rühmitati bitte sageli kolmeks (selle tulemusena tekkis kaheksakohaline ehk oktal süsteem), sest 3 bitti annab 8 võimalikku kombinatsiooni (0–7). Hiljem osutus mugavamaks rühmitada 4 bitti korraga — 4 bitti annab 16 kombinatsiooni, mis viib heksaararvudeni. Neli bitti moodustavad arvutijargoonis nibble'i (mõnikord kirjutatakse nybble) ja üks nibble vastab ühele heksaarkohale. Kaks nibble'i moodustavad baidi (8 bitti), mida kasutatakse paljudes arvutioperatsioonides. Heksaararvud muudavad suured binaarsed numbrid lühemaks ja loetavamaks.

Kirjutusviisid ja tähistused

Heksaariivide eristamiseks teiste süsteemide arvudest kasutatakse mitmeid konventsioone:

  • eelistatud C-keele ja paljude programmeerimiskeelte süntaks: 0x eesliide (näide: 0x63);
  • mõnes assembleris ja dokumentatsioonis kasutatakse järelhäälikut h (näide: 63h);
  • veebi- ja CSS-värvikoodides kasutatakse risti või märki # (näide: #FF0000 punase jaoks), kus RRGGBB on kolme värikanali heksaararvud.

Kuidas teisendada heksaararv kümnend- ja binaarsüsteemi — näited

Heksaararvu teisendamisel kümnendiks korrutatakse iga koht vastava positsiooni baasvõimuga (16^0, 16^1, 16^2 ...). Näide:

0x3E7 = 3×16^2 + E×16^1 + 7×16^0 = 3×256 + 14×16 + 7 = 768 + 224 + 7 = 999 (kümnendsüsteemis).

Binaari teisendamiseks saab iga heksakohale vastava 4 bitti eraldi kirjutada:

  • 0x63 → 6 = 0110 ja 3 = 0011 → binaaris 0110 0011 (mis on 99 kümnendsüsteemis);
  • 0xFF → FF = 1111 1111 (kümnendsüsteemis 255, 8-bitise maksimaalse väärtuse näide).

Kus heksaararve kasutatakse?

Heksaararvud on laialt kasutusel arvutite ja elektroonika valdkonnas, näiteks:

  • mälu‑ ja aadressimise kuvamine (mälu aadressid tavaliselt heksakujul);
  • värvikoodid veebidisainis (CSS: #RRGGBB);
  • MAC-aadressid ja paljud võrguprotokollid (paarides olevad heksapaarid);
  • madala taseme programmeerimine ja debuggimine (näiteks tähistused registriväärtuste ja maskide puhul);
  • failiformaadid ja binaarandmete esitus lugemisväärsel kujul.

Nõuanded ja kokkuvõte

Heksaar on mugav viis esitada binaarset informatsiooni lühemalt ja loetavamalt — 4 bitti → 1 hex. Kui õpite heksaariga töötama, harjuge:

  • mäletama A–F vastavaid väärtusi 10–15;
  • teadma peamisi notatsioone (0x, h, #) ja konteksti, kus neid kasutatakse;
  • õppima lihtsaid teisenduse reegleid (4-bitiline rühm binaarist → üks hex; positsioonikorrutused kümnendiks).

Heksaarvud

Heksaarvud on sarnased kaheksakohalise numbrisüsteemiga (baas 8), sest mõlemat saab kergesti võrrelda binaarse numbrisüsteemiga. Heksaadarvudes kasutatakse neljabittilist binaarkoodimist. See tähendab, et iga number heksadekaalarvus on sama, mis neli numbrit binaarsüsteemis. Oktaalarv kasutab kolmebittilist binaarsüsteemi.

Kümnendsüsteemis on esimene number ühe koht, järgmine number vasakul on kümne koht, järgmine on saja koht jne. Heksaadiksüsteemis võib iga number olla 16 väärtust, mitte 10. See tähendab, et numbritel on ühe koht, kuueteistkümne koht ja järgmine on 256 koht. Seega 1h = 1 kümnendkoht, 10h = 16 kümnendkoht ja 100h = 256 kümnendkoht.

Kuueteistkümnendarvude näidisväärtused teisendatuna binaarseks, kaheksakohaliseks ja kümnendarvuks.

Hex

Binaarne

Octal

Detsimaalne

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

Conversion

Binaarsed to heksadekaalarvud

Numbri muutmine binaarsest arvust heksakoodiks kasutab rühmitamismeetodit. Binaarne number jagatakse neljast numbrist koosnevateks rühmadeks, alustades paremalt. Seejärel teisendatakse need rühmad heksadekaalarvudeks, nagu on näidatud ülaltoodud tabelis heksadekaalarvude 0 kuni F puhul. Kõik heksakohad muudetakse binaarseks ja rühmitus tavaliselt eemaldatakse.

Binaarne

Grupeeringud

Hex

01100101

0110

0101

65

010010110110

0100

1011

0110

4B6

1101011101011010

1101

0111

0101

1010

D75A

Kui bittide arv on binaarvõrrandis, mis ei ole 4 kordne, siis täidetakse see nullidega, et see oleks selline. Näited:

  • binaarne 110 = 0110, mis on 6 Hex.
  • binaarne 010010 = 00010010, mis on 12 Hex.

Heksaarv kümnendsüsteemi muutmine kümnendsüsteemi

Arvude konverteerimiseks heksadekaalarvust kümnendarvuks on kaks levinud viisi.

Esimest meetodit tehakse sagedamini käsitsi teisendamisel:

  1. Kasutage iga kuuekohalise numbri jaoks kümnendväärtust. 0-9 puhul on see sama, kuid A = 10, B = 11, C = 12, D = 13, E = 14 ja F = 15.
  2. Hoidke alljärgnevalt igal sammul ümberarvestatud numbrite summa.
  3. Alustage kõige vähemtähtsama kuueteistkümnendikuga. See on number paremas otsas. See on summa esimene element.
  4. Võtke eelviimane oluline number. See on parempoolse numbri kõrval. Korrutage selle numbri kümnendväärtus 16-ga. Lisage see summa juurde.
  5. Tehke sama ka kolmandaks vähim olulise numbriga, kuid korrutage see 162-ga (st 16 ruutu ehk 256). Lisage see summale.
  6. Jätkake iga numbri puhul, korrutades iga koha teise 16-ga. (4096, 65536 jne.)

 

Asukoht

6

5

4

3

2

1

Väärtus

1048576 (165)

65536 (164)

4096 (163)

256 (162)

16(161)

1 (160)


Järgmist meetodit kasutatakse sagedamini numbri teisendamisel tarkvaras. See ei pea teadma, mitu numbrit arvul on, enne kui ta alustab, ja ta ei korruta kunagi rohkem kui 16-ga, kuid paberil näeb see pikem välja.

  1. Kasutage iga kuuekohalise numbri jaoks kümnendväärtust. 0-9 puhul on see sama, kuid A = 10, B = 11, C = 12, D = 13, E = 14 ja F = 15.
  2. Hoidke alljärgnevalt igal sammul ümberarvestatud numbrite summa.
  3. Alustage kõige olulisemast numbrist (kõige vasakpoolsemast numbrist). See on summa esimene kirje.
  4. Kui on veel üks number, korrutage summa 16-ga ja lisage järgmise numbri kümnendväärtus.
  5. Korrake ülaltoodud sammu, kuni numbreid enam ei ole.


Näide: 5Fh ja 3425h kümnendsüsteemi, meetod 1

 

5Fh kümnendsüsteemi

Hex

Detsimaalne

5Fh

=

( 5 x 16 )

+

( 15 x 1 )

=

80

+

15

5Fh

=

95

 

3425h kümnendsüsteemi

Hex

Detsimaalne

3425h

=

( 3 x 4096 )

+

( 4 x 256 )

+

( 2 x 16)

+

( 5 x 1 )

=

12288

+

1024

+

32

+

3425h

=

13349

Näide: 5Fh ja 3425h kümnendsüsteemi, meetod 2

 

5Fh kümnendsüsteemi

Hex

Detsimaalne

summa

=

5

=

(5 x 16) + 15

summa

=

80 + 15 (mitte rohkem numbreid)

5Fh

=

95

 

3425h kümnendsüsteemi

Hex

Detsimaalne

summa

=

3

=

(3 x 16) + 4 = 52

summa

=

(52 x 16) + 2 = 834

summa

=

(834 x 16) + 5 = 13349

3425h

=

13349

Seotud leheküljed

Küsimused ja vastused

K: Mis on kuuekohaline numbrisüsteem?


V: Heksaadiksüsteem on 16 sümbolist koosnev 16 baasil põhinev numeratsioonisüsteem.

K: Milliseid kümme sümbolit kasutatakse kümnendsüsteemis (baas 10)?


V: Kümme sümbolit, mida kasutatakse kümnendsüsteemis (baas 10), on 0,1,2,3,4,5,6,7,8 ja 9.

K: Milliseid kuut lisasümbolit kasutab heksadekaalsüsteem?


V: Heksaadiksüsteemis kasutatakse inglise tähestikust võetud tähti - A, B, C, D, E ja F.

K: Mitu bitti sisaldab üks bait tänapäeva arvutites?


V: Tänapäeva arvutites sisaldab iga bait tavaliselt kaheksa bitti.

K: Mida nimetavad insenerid ja arvutiteadlased nelja biti väärtusteks?


V: Insenerid ja arvutiteadlased nimetavad neljabitilisi väärtusi nibliteks (mõnikord kirjutatakse ka nybble).

K: Kuidas vältida segadust teiste numbrisüsteemidega, kui kirjutatakse kuuekohalisi numbreid?


V: Et vältida segadust teiste numeratsioonisüsteemidega, võite kuuekohaliste arvude kirjutamisel lisada numbrile "h" järele või "0x" ette. Näiteks 63h või 0x63 tähendab 63 heksadekaalarvu.

AlegsaOnline.com - 2020 / 2025 - License CC3