Sistem energetic hexazecimal. Sistemul numeric hexazecimal

27.09.2019 Știri

Sistemul numeric familiar oamenilor este zecimal. Se bazează pe zece cifre de la 0 la 9. Sistemul hexazecimal se distinge prin prezența în el a primelor șase litere ale alfabetului latin pentru scrierea numerelor pe lângă numerele de bază. Adică, numărul 9 este urmat de simbolul „A”, care corespunde cu numărul 10 pentru sistemul zecimal. În consecință, F în hexazecimal este 16 în zecimală. Utilizarea a șaisprezece caractere în sistem nu este o alegere aleatorie.

Unitatea de informare este un pic. Opt biți formează un octet. Există un concept ca un cuvânt de mașină - o unitate de date reprezentând doi, adică șaisprezece biți. Astfel, folosind șaisprezece simboluri diferite, este posibil să descriem orice informație care va fi cea mai mică particulă în timpul schimbului de date. Puteți efectua orice operații aritmetice cu ele, iar rezultatul, în consecință, va fi obținut și în sistemul hexazecimal.

Pentru a distinge faptul că un număr este scris în hexazecimal, după el se scrie litera „h” sau indicele „16”.

Aplicație

Cea mai comună utilizare a sistemului de numere hexazecimale este codurile de eroare. produse software, De exemplu, sistem de operare. Numerele conținute în aceste coduri sunt standardizate. Având un tabel special, puteți determina oricând ce înseamnă exact aceasta sau acea eroare.

În limbajele de nivel scăzut, care sunt cât mai apropiate de codul mașinii, sistemul hexazecimal este folosit pentru a scrie programe. Mulți programatori îl folosesc și atunci când lucrează cu limbi. nivel inalt, deoarece numerele din acest sistem, folosind un tabel special de corespondență, sunt ușor convertite în sistemul binar pe care se bazează funcționarea întregii tehnologii digitale. Orice informație de pe un computer, fie el fișier muzical sau Document text, după traducere, este reprezentat de o secvență a codului binar sursă și este mai convenabil să îl vizualizați reprezentat prin simboluri hexazecimale.

De asemenea, una dintre utilizările caracterelor hexazecimale este descrierea scheme de culori, adică cele trei componente R, G, B sunt descrise într-o manieră adecvată sistemului dat. Această abordare de înregistrare se numește culoare hexazecimală

Abilitatea de a vizualiza un program în cod hexazecimal vă permite să-l depanați, să faceți modificări, iar atacatorii folosesc această abordare pentru a pirata programe.

Notație hexazecimală („Hex”)- o modalitate convenabilă de a reprezenta valori binare. Așa cum sistemul numeric zecimal are o bază de zece și sistemul de numere binar are o bază de doi, sistemul numeric hexazecimal are o bază de șaisprezece.

Sistemul numeric în baza 16 folosește numerele de la 0 la 9 și literele de la A la F. Figura arată valorile zecimale, binare și hexazecimale echivalente pentru numerele binare de la 0000 la 1111. Ne este mai ușor să exprimăm o valoare ca una cifră hexazecimală decât ca patru biți

Înțelegerea octeților

Având în vedere că 8 biți (octeți) sunt gruparea binară standard, numerele binare de la 00000000 la 11111111 pot fi reprezentate în notație hexazecimală ca numerele de la 00 la FF. Zerourile inițiale sunt întotdeauna afișate pentru a finaliza reprezentarea pe 8 biți. De exemplu, valoarea binară 0000 1010 în hexazecimal ar fi 0A.

Reprezentarea valorilor hexazecimale

Vă rugăm să rețineți: Este important să distingem valorile hexazecimale de valorile zecimale pentru caracterele de la 0 la 9, așa cum se arată în figură.

Valorile hexazecimale sunt de obicei reprezentate în text printr-o valoare precedată de 0x (cum ar fi 0x73) sau prin utilizarea unui indice de 16. Mai puțin frecvent, acestea pot fi urmate de litera H, cum ar fi 73H. Cu toate acestea, deoarece textul indicelui nu este recunoscut în niciunul Linie de comanda, nici în mediile de programare, în reprezentarea tehnică a numerelor hexazecimale acestea sunt precedate de „0x” (zero X). Prin urmare, exemplele de mai sus ar fi afișate ca 0x0A și, respectiv, 0x73.

Notația hexazecimală este utilizată pentru a reprezenta adresele MAC Ethernet și adresele IP Versiunea 6.

Conversii hexazecimale

Conversia numerelor între valori zecimale și hexazecimale este simplă, dar împărțirea sau înmulțirea rapidă cu 16 nu este întotdeauna convenabilă. Dacă sunt necesare astfel de conversii, este de obicei mai ușor să convertiți o valoare zecimală sau hexazecimală în binar, apoi convertiți valoarea binară în zecimală sau hexazecimală, în funcție de ceea ce doriți să obțineți.

Cu practică, este posibil să recunoașteți modelele de biți binari care corespund valorilor zecimale și hexazecimale. Figura prezintă aceste modele pentru unele valori de 8 biți.

Acum există un pas foarte ușor înainte asociat cu sistemul numeric hexazecimal. În acest caz, sperăm că bănuiți, și probabil pe bună dreptate, că acum ar trebui să avem 16 cifre diferite.

Dar, după cum știm, există doar zece numere tradiționale („arabe”). Și durează șaisprezece. Se pare că șase personaje lipsesc.

cometariu
Astfel, apare o sarcină pur de proiectare pe tema „Semne” - pentru a găsi simbolurile lipsă pentru numere
.

Aceasta înseamnă că la un moment dat specialiștii trebuiau să vină cu câteva semne noi. Dar cândva, la începutul erei computerelor, nu era prea multă alegere în semne. Programatorii aveau la dispoziție doar cifre și litere. Prin urmare, au luat calea elementară: au luat ca numere primele litere ale alfabetului latin, mai ales că din punct de vedere istoric nu a fost prima dată (am menționat deja că inițial multe popoare au folosit litere în loc de cifre).

cometariu
Sperăm că toată lumea înțelege de ce în acest caz este imposibil să se folosească, de exemplu, numerele „10”, „11”, „12”, etc.? Pentru că dacă vorbim despre sistemul numeric hexazecimal, atunci ar trebui să fie șaisprezece numere, nu numere
.

Și numărul zecimal „10” a început să fie notat cu litera latină „A” (mai precis, „numărul A”). În consecință, urmează numerele „B”, „C”, „D”, „E” și „P”.

Deoarece am intenționat să construim un sistem hexazecimal, pornind de la zero, exact aici obținem 16 cifre. De exemplu, cifra „D” este numărul zecimal „13”, iar cifra „F” este numărul zecimal „15”.

Când adăugăm unul la numărul hexazecimal „F”, atunci, deoarece am epuizat aceste cifre, punem „O” în această cifră și transferăm unul la următoarea cifră, astfel încât se dovedește că numărul zecimal „16 ” va fi reprezentat în sistemul numeric hexazecimal prin numărul „10”, adică se dovedește a fi un „zece hexazecimal”. Să combinăm numerele zecimale și hexazecimale într-un singur tabel (Tabelul 4.5).

Tabelul 4.5. Potrivirea numerelor zecimale și hexazecimale.

Numar decimal Număr hexazecimal Numar decimal Număr hexazecimal
0-9 0-9 29 1D
10 A 30 1E
11 ÎN 31 1F
12 CU 32-41 20-29
13 D 42-47 2A-2F
14 E 48-255 30-FF
15 F 256 100
16 10 512 200
17-25 11-19 1024 400
26 1A 1280 500
27 1B 4096 1000
28 1C

Sistemul hexazecimal este folosit pentru a scrie mai compact informație binară. De fapt, o „mie hexazecimală”, formată din patru cifre, ocupă treisprezece cifre în binar (1000 16 = 1000000000000 2).

Când se discută despre sistemele numerice, „zeci”, „sute” și „mii” au apărut în mod repetat, așa că este necesar să se acorde atenție așa-numitelor numere „rotunde”.

Sistem de numere hexazecimale(cunoscut și ca cod hexazecimal) este un sistem de numere pozițional cu o bază întreagă de 16. Termenul hex (pronunțat hex, scurt pentru engleză hexazecimal) este, de asemenea, folosit uneori în literatură. Cifrele acestui sistem de numere sunt de obicei folosite în cifre arabe 0-9, precum și primele caractere ale alfabetului latin A-F. Literele corespund următoarelor valori zecimale:

  • * A -10;
  • *B—11;
  • *C—12;
  • * D -13;
  • * E - 14;
  • * F - 15.

Astfel, zece cifre arabe, cuplate cu șase litere latine, alcătuiesc cele șaisprezece cifre ale sistemului.

Apropo, pe site-ul nostru puteți converti orice text în cod zecimal, hexazecimal, binar folosind Calculatorul de cod online.

Aplicație. Cod hexadecimal utilizat pe scară largă în programarea de nivel scăzut, precum și în diverse documente de referință informatice. Popularitatea sistemului este justificată de soluții arhitecturale calculatoare moderne: Au un octet (format din opt biți) ca unitate minimă de informație - iar valoarea unui octet este convenabil scrisă folosind două cifre hexazecimale. Valoarea octetului poate varia de la #00 la #FF (de la 0 la 255 în notație zecimală) - cu alte cuvinte, folosind cod hexazecimal, puteți scrie orice stare a octetului, în timp ce nu există cifre „extra” care nu sunt utilizate în înregistrare.

Codificat Unicode Patru cifre hexazecimale sunt folosite pentru a înregistra numărul caracterului. Notația de culoare RGB (roșu, verde, albastru) folosește adesea cod hexazecimal (de exemplu, #FF0000 este o notație de culoare roșu strălucitor).

O metodă de scriere a codului hexazecimal.

Modul matematic de a scrie. În notația matematică, baza sistemului este scrisă în formă zecimală ca indice la dreapta numărului. Notația zecimală a numărului 3032 poate fi scrisă ca 3032 10, în sistemul hexazecimal acest număr va avea notația BD8 16.

În sintaxa limbajelor de programare. Sintaxa diferitelor limbaje de programare stabilește diferit formatul pentru scrierea unui număr folosind cod hexazecimal:

* Sintaxa unor varietăți de limbaj de asamblare folosește litera latină „h”, care este plasată în dreapta numărului, de exemplu: 20Dh. Dacă un număr începe cu o literă latină, atunci este plasat un zero în fața lui, de exemplu: 0A0Bh. Acest lucru se face pentru a distinge valorile folosind constante de constante. cod hexazecimal;

* În alte varietăți de asamblare, precum și în Pascal (și variantele sale, precum Delphi) și în unele dialecte de bază, se folosește prefixul „$”: $A15;

* În limbajul de marcare HTML, precum și în fișierele CSS în cascadă, pentru a specifica culoarea format RGB cu notație hexazecimală se folosește prefixul „#”: #00DC00.

Cum se convertesc codul hexazecimal într-un alt sistem?

Convertiți din hexazecimal în zecimal. Pentru a efectua o operație de conversie din sistemul hexazecimal în sistemul zecimal, trebuie să reprezentați numărul original ca suma produselor cifrelor din cifrele numărului hexazecimal și puterea bazei.

SS binar

hex SS

De exemplu, trebuie să traduceți numărul hexazecimal A14: are trei cifre. Folosind regula, o scriem ca o sumă de puteri cu o bază de 16:

A14 16 = 10,16 2 + 1,16 1 + 4,16 0 = 10,256 + 1,16 + 4,1 = 2560 + 16 + 4 = 2580 10

Conversia numerelor din binar în hexazecimal și invers.

Pentru traducere se folosește un tabel de notebook. Pentru a converti un număr din binar în zecimal, trebuie să îl împărțiți în tetrade separate de la dreapta la stânga și apoi, folosind un tabel, înlocuiți fiecare tetradă cu cifra hexazecimală corespunzătoare. În plus, dacă numărul de cifre nu este un multiplu de patru, atunci este necesar să adăugați numărul corespunzător de zerouri la dreapta numărului, astfel încât numărul total de cifre binare să devină un multiplu de patru.

Tabel de caiete pentru traducere.

Pentru a converti din hexazecimal în binar, trebuie să efectuați operația inversă: înlocuiți fiecare cifră cu o tetradă din tabel.

SS binar

Octal SS

Exemplu conversie din hexazecimal în binar: A5E 16 = 1010 0101 1110 = 101001011110 2

Exemplu conversie din binar în hexazecimal: 111100111 2 = 0001 1110 0111 = 1E7 16

În acest exemplu, numărul de cifre din numărul binar original nu era patru (9), așa că au fost adăugate zerouri de început pentru un număr total de cifre de 12.

Traducere automată. Transfer rapid de la sistemul numeric hexazecimal la unul din trei sisteme populare(binar, octal și zecimal), precum și traducerea inversă, pot fi efectuate folosind un calculator standard inclus cu sistemul de operare Windows. Deschideți calculatorul, selectați View -> Programmer din meniu. ÎN acest mod puteți seta sistemul de numere utilizat în acest moment(vezi meniul din stânga: Hex, Dec, Oct, Bin). În acest caz, schimbarea sistemului de numere curent produce automat o traducere.

Rezultatul a fost deja primit!

Sisteme numerice

Există sisteme numerice poziționale și nepoziționale. Sistemul de numere arabe, pe care îl folosim în viața de zi cu zi, este pozițional, dar sistemul de numere roman nu este. În sistemele de numere poziționale, poziția unui număr determină în mod unic mărimea numărului. Să luăm în considerare acest lucru folosind exemplul numărului 6372 din sistemul numeric zecimal. Să numerotăm acest număr de la dreapta la stânga începând de la zero:

Apoi, numărul 6372 poate fi reprezentat astfel:

6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .

Numărul 10 determină sistemul numeric (în acest caz este 10). Valorile poziției unui număr dat sunt luate ca puteri.

Luați în considerare numărul zecimal real 1287,923. Să-l numerotăm începând de la zero, poziția numărului de la virgulă zecimală la stânga și la dreapta:

Atunci numărul 1287.923 poate fi reprezentat ca:

1287,923 =1000+200+80 +7+0,9+0,02+0,003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3· 10 -3.

În general, formula poate fi reprezentată după cum urmează:

C n s n +C n-1 · s n-1 +...+C 1 · s 1 +C 0 ·s 0 +D -1 ·s -1 +D -2 ·s -2 +...+D -k ·s -k

unde C n este un număr întreg în poziție n, D -k - număr fracționar în poziția (-k), s- sistemul de numere.

Câteva cuvinte despre sistemele numerice.Un număr în sistemul numeric zecimal este format din mai multe cifre (0,1,2,3,4,5,6,7,8,9), în sistemul numeric octal este format din mai multe cifre (0,1, 2,3,4,5,6,7), în sistemul numeric binar - dintr-un set de cifre (0,1), în sistemul numeric hexazecimal - dintr-un set de cifre (0,1 ,2,3,4,5,6, 7,8,9,A,B,C,D,E,F), unde A,B,C,D,E,F corespund numerelor 10,11, 12,13,14,15.În tabelul Tab.1 sunt prezentate numerele în sisteme diferite Socoteala.

tabelul 1
Notaţie
10 2 8 16
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
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Conversia numerelor dintr-un sistem numeric în altul

Pentru a converti numerele dintr-un sistem numeric în altul, cel mai simplu mod este să convertiți mai întâi numărul în sistemul numeric zecimal, apoi convertiți din sistemul numeric zecimal în sistemul numeric necesar.

Conversia numerelor din orice sistem numeric în sistemul numeric zecimal

Folosind formula (1), puteți converti numerele din orice sistem numeric în sistemul numeric zecimal.

Exemplu 1. Convertiți numărul 1011101.001 din sistemul numeric binar (SS) în SS zecimal. Soluţie:

1 ·2 6 +0 ·2 5 + 1 ·2 4 + 1 ·2 3 + 1 ·2 2 + 0 ·2 1 + 1 ·2 0 + 0 ·2 -1 + 0 ·2 -2 + 1 ·2 -3 =64+16+8+4+1+1/8=93,125

Exemplu2. Convertiți numărul 1011101.001 din sistemul de numere octale (SS) în SS zecimal. Soluţie:

Exemplu 3 . Convertiți numărul AB572.CDF din sistemul numeric hexazecimal în SS zecimal. Soluţie:

Aici A-inlocuit cu 10, B- la 11, C- la 12, F- pana la 15.

Conversia numerelor din sistemul numeric zecimal în alt sistem numeric

Pentru a converti numerele din sistemul de numere zecimal într-un alt sistem de numere, trebuie să convertiți separat partea întreagă a numărului și partea fracțională a numărului.

Partea întreagă a unui număr este convertită din SS zecimal într-un alt sistem de numere prin împărțirea secvențială a părții întregi a numărului la baza sistemului de numere (pentru SS binar - la 2, pentru SS 8-ary - la 8, pentru 16 -ary SS - cu 16, etc.) până când se obține un reziduu întreg, mai mic decât baza CC.

Exemplu 4 . Să convertim numărul 159 din SS zecimal în SS binar:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

După cum se poate observa din fig. 1, numărul 159 când este împărțit la 2 dă câtul 79 și restul 1. În plus, numărul 79 când este împărțit la 2 dă câtul 39 și restul 1 etc. Ca rezultat, construind un număr din resturile de împărțire (de la dreapta la stânga), obținem un număr în SS binar: 10011111 . Prin urmare putem scrie:

159 10 =10011111 2 .

Exemplu 5 . Să convertim numărul 615 din SS zecimal în SS octal.

615 8
608 76 8
7 72 9 8
4 8 1
1

Când convertiți un număr dintr-un SS zecimal într-un SS octal, trebuie să împărțiți succesiv numărul la 8 până când obțineți un rest întreg mai mic decât 8. Ca rezultat, construind un număr din resturile de diviziune (de la dreapta la stânga) obținem un număr în SS octal: 1147 (vezi fig. 2). Prin urmare putem scrie:

615 10 =1147 8 .

Exemplu 6 . Să convertim numărul 19673 din sistemul numeric zecimal în SS hexazecimal.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

După cum se poate observa din figura 3, împărțind succesiv numărul 19673 la 16, resturile sunt 4, 12, 13, 9. În sistemul numeric hexazecimal, numărul 12 corespunde lui C, numărul 13 la D. Prin urmare, numărul nostru numărul hexazecimal este 4CD9.

Pentru a converti fracții zecimale regulate (un număr real cu o parte întreagă zero) într-un sistem numeric cu baza s, este necesar să înmulțim succesiv acest număr cu s până când partea fracțională conține un zero pur sau obținem numărul necesar de cifre . Dacă, în timpul înmulțirii, se obține un număr cu o parte întreagă, alta decât zero, atunci această parte întreagă nu este luată în considerare (sunt incluse secvenţial în rezultat).

Să ne uităm la cele de mai sus cu exemple.

Exemplu 7 . Să convertim numărul 0,214 din sistemul numeric zecimal în SS binar.

0.214
X 2
0 0.428
X 2
0 0.856
X 2
1 0.712
X 2
1 0.424
X 2
0 0.848
X 2
1 0.696
X 2
1 0.392

După cum se poate vedea din Fig. 4, numărul 0,214 este înmulțit succesiv cu 2. Dacă rezultatul înmulțirii este un număr cu o parte întreagă alta decât zero, atunci partea întreagă este scrisă separat (în stânga numărului), iar numărul este scris cu o parte întreagă zero. Dacă înmulțirea are ca rezultat un număr cu o parte întreagă zero, atunci în stânga acestuia se scrie un zero. Procesul de înmulțire continuă până când partea fracțională ajunge la zero pur sau obținem numărul necesar de cifre. Scriind numere îngroșate (Fig. 4) de sus în jos obținem numărul necesar în sistemul numeric binar: 0. 0011011 .

Prin urmare putem scrie:

0.214 10 =0.0011011 2 .

Exemplu 8 . Să convertim numărul 0,125 din sistemul numeric zecimal în SS binar.

0.125
X 2
0 0.25
X 2
0 0.5
X 2
1 0.0

Pentru a converti numărul 0,125 din zecimal SS în binar, acest număr este înmulțit succesiv cu 2. În a treia etapă, rezultatul este 0. În consecință, se obține următorul rezultat:

0.125 10 =0.001 2 .

Exemplu 9 . Să convertim numărul 0,214 din sistemul numeric zecimal în SS hexazecimal.

0.214
X 16
3 0.424
X 16
6 0.784
X 16
12 0.544
X 16
8 0.704
X 16
11 0.264
X 16
4 0.224

Urmând exemplele 4 și 5, obținem numerele 3, 6, 12, 8, 11, 4. Dar în SS hexazecimal, numerele 12 și 11 corespund numerelor C și B. Prin urmare, avem:

0,214 10 = 0,36C8B4 16 .

Exemplu 10 . Să convertim numărul 0,512 din sistemul numeric zecimal în SS octal.

0.512
X 8
4 0.096
X 8
0 0.768
X 8
6 0.144
X 8
1 0.152
X 8
1 0.216
X 8
1 0.728

A primit:

0.512 10 =0.406111 8 .

Exemplu 11 . Să convertim numărul 159,125 din sistemul numeric zecimal în SS binar. Pentru a face acest lucru, traducem separat partea întreagă a numărului (Exemplul 4) și partea fracțională a numărului (Exemplul 8). Combinând în continuare aceste rezultate, obținem:

159.125 10 =10011111.001 2 .

Exemplu 12 . Să convertim numărul 19673,214 din sistemul numeric zecimal în SS hexazecimal. Pentru a face acest lucru, traducem separat partea întreagă a numărului (Exemplul 6) și partea fracțională a numărului (Exemplul 9). În plus, combinând aceste rezultate, obținem.