Heksadecimalni energetski sustav. Heksadekadski brojevni sustav

27.09.2019 Vijesti

Sustav brojeva koji je poznat ljudima je decimalni. Temelji se na deset znamenki od 0 do 9. Heksadecimalni sustav odlikuje se prisutnošću u njemu prvih šest slova latinične abecede za pisanje brojeva uz osnovne brojeve. Odnosno, broj 9 prati simbol "A", koji odgovara broju 10 za decimalni sustav. Prema tome, F u heksadecimalnom je 16 u decimalnom. Upotreba šesnaest znakova u sustavu nije slučajan izbor.

Jedinica informacije je malo. Osam bitova čini bajt. Postoji koncept poput strojne riječi - jedinica podataka koja predstavlja dva, odnosno šesnaest bita. Tako je pomoću šesnaest različitih simbola moguće opisati bilo koju informaciju koja će biti najmanja čestica tijekom razmjene podataka. S njima možete izvoditi bilo koje aritmetičke operacije, a rezultat će se, prema tome, također dobiti u heksadecimalnom sustavu.

Da bi se razlikovalo da je broj napisan heksadecimalno, iza njega se upisuje slovo “h” ili indeks “16”.

Primjena

Najčešća upotreba heksadecimalnog brojevnog sustava je u kodovima pogrešaka. softverski proizvodi, Na primjer, operacijski sustav. Brojevi sadržani u ovim kodovima su standardizirani. Imajući posebnu tablicu, uvijek možete odrediti što točno znači ova ili ona pogreška.

U jezicima niske razine, koji su što bliži strojnom kodu, za pisanje programa koristi se heksadecimalni sustav. Mnogi ga programeri također koriste pri radu s jezicima. visoka razina, jer se brojevi u ovom sustavu, pomoću posebne tablice korespondencije, lako pretvaraju u binarni sustav na kojem se temelji rad cjelokupne digitalne tehnologije. Bilo koja informacija na računalu, bilo da je glazbena datoteka ili Tekstualni dokument, nakon prijevoda, predstavljen je slijedom izvornog binarnog koda, te je prikladnije vidjeti ga predstavljenog heksadecimalnim simbolima.

Također jedna od upotreba heksadecimalnih znakova je opis sheme boja, odnosno tri komponente R, G, B opisane su na način koji odgovara zadanom sustavu. Ovaj pristup snimanju naziva se heksadecimalna boja

Mogućnost pregleda programa u heksadecimalnom kodu omogućuje vam otklanjanje pogrešaka, unos promjena, a napadači koriste ovaj pristup za hakiranje programa.

Heksadecimalni zapis ("Hex")- prikladan način predstavljanja binarnih vrijednosti. Baš kao što decimalni brojevni sustav ima bazu deset, a binarni brojevni sustav ima bazu dva, heksadecimalni brojevni sustav ima bazu šesnaest.

Sustav brojeva s bazom 16 koristi brojeve od 0 do 9 i slova od A do F. Slika prikazuje ekvivalentne decimalne, binarne i heksadecimalne vrijednosti za binarne brojeve od 0000 do 1111. Lakše nam je izraziti vrijednost kao jedan heksadecimalnu znamenku nego kao četiri bita

Razumijevanje bajtova

S obzirom da je 8 bitova (bajtova) standardno binarno grupiranje, binarni brojevi 00000000 do 11111111 mogu se prikazati u heksadecimalnom zapisu kao brojevi od 00 do FF. Vodeće nule uvijek se prikazuju kako bi se dovršio 8-bitni prikaz. Na primjer, binarna vrijednost 0000 1010 u heksadecimalnom bi bila 0A.

Predstavljanje heksadecimalnih vrijednosti

Molim Zabilježite: Važno je razlikovati heksadecimalne vrijednosti od decimalnih vrijednosti za znakove od 0 do 9, kao što je prikazano na slici.

Heksadecimalne vrijednosti obično su predstavljene u tekstu vrijednošću kojoj prethodi 0x (kao što je 0x73) ili korištenjem indeksa 16. Rjeđe ih može pratiti slovo H, kao što je 73H. Međutim, budući da se pretpisani tekst ne prepoznaje ni u jednom naredbeni redak, niti u programskim okruženjima, u tehničkom prikazu heksadecimalnih brojeva ispred njih stoji "0x" (nula X). Stoga bi gornji primjeri bili prikazani kao 0x0A odnosno 0x73.

Heksadecimalni zapis koristi se za predstavljanje Ethernet MAC adresa i IP verzija 6 adresa.

Heksadecimalne pretvorbe

Pretvaranje brojeva između decimalnih i heksadecimalnih vrijednosti je jednostavno, ali brzo dijeljenje ili množenje sa 16 nije uvijek zgodno. Ako su takve pretvorbe potrebne, obično je lakše pretvoriti decimalnu ili heksadecimalnu vrijednost u binarnu, a zatim pretvoriti binarnu vrijednost u decimalnu ili heksadecimalnu, ovisno o tome što želite dobiti.

Praksom je moguće prepoznati binarne uzorke bitova koji odgovaraju decimalnim i heksadecimalnim vrijednostima. Slika prikazuje ove uzorke za neke 8-bitne vrijednosti.

Predstoji vrlo lagana šetnja povezana s heksadecimalnim brojevnim sustavom. U ovom slučaju, nadamo se da sumnjate, i vjerojatno s pravom, da bismo sada trebali imati 16 različitih znamenki.

Ali, kao što znamo, postoji samo deset tradicionalnih ("arapskih") brojeva. A potrebno je šesnaest. Ispostavilo se da nedostaje šest znakova.

Komentar
Stoga se na temu "Znakovi" pojavljuje čisto dizajnerski zadatak - pronaći simbole koji nedostaju za brojeve
.

To znači da su u jednom trenutku stručnjaci trebali doći do nekih novih znakova. Ali nekad davno, na početku računalne ere, nije bilo puno izbora znakova. Programeri su na raspolaganju imali samo brojke i slova. Stoga su krenuli elementarnim putem: prva slova latinice uzeli su kao brojeve, tim više što povijesno to nije bio prvi put (već smo spomenuli da su u početku mnogi narodi umjesto brojeva koristili slova).

Komentar
Nadamo se da svi razumiju zašto je u ovom slučaju nemoguće koristiti, na primjer, brojeve "10", "11", "12" itd.? Jer ako govorimo o heksadecimalnom brojevnom sustavu, onda bi to trebalo biti šesnaest brojevima, ne brojke
.

I decimalni broj "10" počeo se označavati latiničnim slovom "A" (točnije, "broj A"). U skladu s tim slijede brojevi “B”, “C”, “D”, “E” i “P”.

Budući da smo namjeravali izgraditi heksadecimalni sustav, počevši od nule, upravo ovdje dobivamo 16 znamenki. Na primjer, znamenka "D" je decimalni broj "13", a znamenka "F" je decimalni broj "15".

Kada heksadecimalnom broju “F” dodamo jedinicu, onda pošto nam je ponestalo ovih znamenki, u ovu znamenku stavimo “O”, a jedan prenesemo na sljedeću znamenku, pa ispada da je decimalni broj “16. ” će u heksadecimalnom brojevnom sustavu biti predstavljen brojem "10", tj. ispada da je to "heksadecimalna desetica". Spojimo decimalne i heksadecimalne brojeve u jednu tablicu (tablica 4.5).

Tablica 4.5. Spajanje decimalnih i heksadecimalnih brojeva.

Decimalni broj Heksadecimalni broj Decimalni broj Heksadecimalni broj
0-9 0-9 29 1D
10 A 30 1E
11 U 31 1F
12 S 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

Za kompaktnije pisanje koristi se heksadecimalni sustav binarne informacije. Zapravo, "heksadecimalna tisućica", koja se sastoji od četiri znamenke, zauzima trinaest znamenki u binarnom sistemu (1000 16 = 1000000000000 2).

Kad se govori o brojevnim sustavima, više puta se pojavljuju "desetice", "stotice" i "tisućice", pa je potrebno obratiti pozornost na takozvane "okrugle" brojeve.

Heksadekadski brojevni sustav(također poznat kao heksadecimalni kod) je položajni brojevni sustav s cjelobrojnom bazom 16. Izraz hex (izgovara se hex, skraćenica za engleski hexadecimal) također se ponekad koristi u literaturi. Znamenke ovog brojevnog sustava obično se koriste u arapskim brojevima 0-9, kao i prvim znakovima latinične abecede A-F. Slova odgovaraju sljedećim decimalnim vrijednostima:

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

Dakle, deset arapskih brojeva, zajedno sa šest latiničnih slova, čine šesnaest znamenki sustava.

Usput, na našoj web stranici možete pretvoriti bilo koji tekst u decimalni, heksadecimalni, binarni kod pomoću Online Code Calculator.

Primjena. Heksadecimalni kod naširoko se koristi u programiranju niske razine kao iu raznim računalnim referentnim dokumentima. Popularnost sustava opravdana je arhitektonskim rješenjima moderna računala: Imaju bajt (koji se sastoji od osam bitova) kao minimalnu informacijsku jedinicu - a vrijednost bajta je prikladno zapisana pomoću dvije heksadecimalne znamenke. Vrijednost bajta može biti u rasponu od #00 do #FF (0 do 255 u decimalnom zapisu) - drugim riječima, korištenjem heksadecimalni kod, možete napisati bilo koje stanje bajta, dok nema "dodatnih" znamenki koje se ne koriste u snimanju.

Kodirano Unicode Za zapis broja znakova koriste se četiri heksadecimalne znamenke. RGB oznaka boja (crvena, zelena, plava) također često koristi heksadecimalni kod (na primjer, #FF0000 je oznaka svijetle crvene boje).

Metoda za pisanje heksadecimalnog koda.

Matematički način pisanja. U matematičkom zapisu, baza sustava je zapisana u decimalnom obliku kao indeks desno od broja. Decimalni zapis broja 3032 može se napisati kao 3032 10, u heksadecimalnom sustavu taj broj će imati oznaku BD8 16.

U sintaksi programskih jezika. Sintaksa različitih programskih jezika različito postavlja format za korištenje broja heksadecimalni kod:

* Sintaksa nekih varijanti asemblerskog jezika koristi latinično slovo "h", koje se nalazi desno od broja, na primjer: 20Dh. Ako broj počinje latiničnim slovom, ispred njega se stavlja nula, na primjer: 0A0Bh. To je učinjeno kako bi se razlikovale vrijednosti koje koriste konstante od konstanti. heksadecimalni kod;

* U drugim varijantama asemblera, kao iu Pascalu (i njegovim varijantama, kao što je Delphi) i nekim osnovnim dijalektima, koristi se prefiks “$”: $A15;

* U HTML jeziku za označavanje, kao iu kaskadnim CSS datotekama, za određivanje boje RGB format u heksadecimalnom zapisu koristi se prefiks "#": #00DC00.

Kako pretvoriti heksadecimalni kod u drugi sustav?

Pretvori iz heksadecimalnog u decimalni. Da biste izvršili operaciju pretvorbe iz heksadecimalnog sustava u decimalni sustav, trebate predstaviti izvorni broj kao zbroj proizvoda znamenki u znamenkama heksadecimalnog broja i snage baze.

Binarni SS

hex SS

Na primjer, trebate prevesti heksadecimalni broj A14: ima tri znamenke. Koristeći pravilo, zapisujemo ga kao zbroj potencija s bazom 16:

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

Pretvaranje brojeva iz binarnih u heksadecimalne i obrnuto.

Za prijevod se koristi stol za bilježnice. Da biste pretvorili broj iz binarnog u decimalni, trebate ga podijeliti u zasebne tetrade s desna na lijevo, a zatim pomoću tablice zamijeniti svaku tetradu odgovarajućom heksadecimalnom znamenkom. Štoviše, ako broj znamenki nije višekratnik četiri, tada je potrebno dodati odgovarajući broj nula desno od broja tako da ukupni broj binarnih znamenki postane višekratnik četiri.

Tablica bilježnica za prevođenje.

Za pretvorbu iz heksadecimalnog u binarni, morate izvršiti obrnutu operaciju: zamijenite svaku znamenku tetradom iz tablice.

Binarni SS

Oktalni SS

Primjer pretvorba iz heksadecimalnog u binarni: A5E 16 = 1010 0101 1110 = 101001011110 2

Primjer pretvorba iz binarnog u heksadecimalni: 111100111 2 = 0001 1110 0111 = 1E7 16

U ovom primjeru, broj znamenki u izvornom binarnom broju nije bio četiri (9), pa su dodane vodeće nule za ukupan broj znamenki od 12.

Automatski prijevod. Brzi prijevod od heksadecimalnog brojevnog sustava do jednog od tri popularni sustavi(binarno, oktalno i decimalno), kao i obrnuto prevođenje, može se izvesti pomoću standardnog kalkulatora uključenog u Windows OS. Otvorite kalkulator, odaberite View -> Programmer iz izbornika. U ovaj način rada možete postaviti sustav brojeva koji se koristi u ovaj trenutak(pogledajte izbornik s lijeve strane: Hex, Dec, Oct, Bin). U ovom slučaju, promjena trenutnog brojevnog sustava automatski proizvodi prijevod.

Rezultat je već primljen!

Sustavi brojeva

Postoje položajni i nepozicijski brojčani sustavi. Arapski sustav brojeva, koji koristimo u svakodnevnom životu, je pozicijski, ali rimski sustav brojeva nije. U položajnim brojevnim sustavima položaj broja jednoznačno određuje veličinu broja. Razmotrimo to na primjeru broja 6372 u decimalnom brojevnom sustavu. Brojimo ovaj broj s desna na lijevo počevši od nule:

Tada se broj 6372 može predstaviti na sljedeći način:

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

Broj 10 određuje brojevni sustav (u ovom slučaju to je 10). Vrijednosti položaja zadanog broja uzimaju se kao potencije.

Razmotrimo pravi decimalni broj 1287.923. Numerirajmo ga počevši od nulte pozicije broja od decimalne točke lijevo i desno:

Tada se broj 1287.923 može predstaviti kao:

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.

Općenito, formula se može prikazati na sljedeći način:

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

gdje je C n cijeli broj na poziciji n, D -k - razlomački broj na poziciji (-k), s- brojevni sustav.

Nekoliko riječi o brojevnim sustavima Broj u dekadskom brojevnom sustavu sastoji se od više znamenki (0,1,2,3,4,5,6,7,8,9), u oktalnom brojevnom sustavu sastoji se od više znamenki (0,1, 2,3,4,5,6,7), u binarnom brojevnom sustavu - iz skupa znamenki (0,1), u heksadecimalnom brojevnom sustavu - iz skupa znamenki (0,1 ,2,3,4,5,6, 7,8,9,A,B,C,D,E,F), gdje A,B,C,D,E,F odgovaraju brojevima 10,11, 12,13,14,15 U tablici Tab.1 brojevi su prikazani u različitim sustavima Računanje.

stol 1
Notacija
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

Pretvaranje brojeva iz jednog brojevnog sustava u drugi

Za prevođenje brojeva iz jednog brojevnog sustava u drugi najlakši način je da broj prvo prevedete u dekadski brojevni sustav, a zatim iz dekadskog brojevnog sustava prevedete u traženi brojevni sustav.

Pretvaranje brojeva iz bilo kojeg brojevnog sustava u decimalni brojevni sustav

Pomoću formule (1) možete pretvoriti brojeve iz bilo kojeg brojevnog sustava u decimalni brojevni sustav.

Primjer 1. Pretvorite broj 1011101.001 iz binarnog brojevnog sustava (SS) u decimalni SS. Riješenje:

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

Primjer2. Pretvorite broj 1011101.001 iz oktalnog brojevnog sustava (SS) u decimalni SS. Riješenje:

Primjer 3 . Pretvorite broj AB572.CDF iz heksadecimalnog brojevnog sustava u decimalni SS. Riješenje:

Ovdje A- zamijenjen sa 10, B- u 11, C- u 12, F- do 15.

Pretvaranje brojeva iz dekadskog brojevnog sustava u drugi brojevni sustav

Za pretvaranje brojeva iz decimalnog brojevnog sustava u drugi brojevni sustav potrebno je odvojeno pretvoriti cijeli broj i razlomački dio broja.

Cijeli dio broja pretvara se iz decimalnog SS u drugi brojevni sustav sekvencijskim dijeljenjem cijelog dijela broja s bazom brojevnog sustava (za binarni SS - s 2, za 8-arni SS - s 8, za 16 -ary SS - za 16, itd. ) dok se ne dobije cijeli ostatak, manji od baze CC.

Primjer 4 . Pretvorimo broj 159 iz decimalnog SS u binarni SS:

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

Kao što se može vidjeti sa Sl. 1, broj 159 kada se podijeli s 2 daje količnik 79 i ostatak 1. Nadalje, broj 79 kada se podijeli s 2 daje kvocijent 39 i ostatak 1, itd. Kao rezultat toga, konstruirajući broj od ostataka dijeljenja (s desna na lijevo), dobivamo broj u binarnom SS: 10011111 . Stoga možemo napisati:

159 10 =10011111 2 .

Primjer 5 . Pretvorimo broj 615 iz decimalnog SS u oktalni SS.

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

Kada pretvarate broj iz decimalnog SS u oktalni SS, trebate uzastopno podijeliti broj s 8 dok ne dobijete cijeli broj manji od 8. Kao rezultat toga, konstruiranjem broja od ostataka dijeljenja (s desna na lijevo) dobivamo broj u oktalnom SS: 1147 (vidi sliku 2). Stoga možemo napisati:

615 10 =1147 8 .

Primjer 6 . Pretvorimo broj 19673 iz decimalnog brojevnog sustava u heksadecimalni SS.

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

Kao što se može vidjeti na slici 3, uzastopnim dijeljenjem broja 19673 sa 16, ostaci su 4, 12, 13, 9. U heksadecimalnom brojevnom sustavu broj 12 odgovara C, broj 13 D. Dakle, naš heksadecimalni broj je 4CD9.

Da bismo pravilne decimalne razlomke (realni broj s nultim cijelim dijelom) pretvorili u brojevni sustav s bazom s, potrebno je taj broj sukcesivno množiti sa s sve dok razlomački dio ne sadrži čistu nulu ili ne dobijemo traženi broj znamenki. . Ako se tijekom množenja dobije broj s cijelim dijelom koji nije nula, tada se taj cijeli broj ne uzima u obzir (oni se redom uključuju u rezultat).

Pogledajmo gore navedeno s primjerima.

Primjer 7 . Pretvorimo broj 0,214 iz decimalnog brojevnog sustava u binarni SS.

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

Kao što se može vidjeti na slici 4, broj 0,214 uzastopno se množi s 2. Ako je rezultat množenja broj čiji cijeli dio nije nula, tada se cijeli dio piše zasebno (lijevo od broja), a broj je zapisan s nultim cijelim dijelom. Ako se množenjem dobije broj s cijelim dijelom nula, tada se lijevo od njega upisuje nula. Proces množenja se nastavlja sve dok razlomački dio ne dođe do čiste nule ili dok ne dobijemo potreban broj znamenki. Podebljanim pisanjem brojeva (sl. 4) odozgo prema dolje dobivamo traženi broj u binarnom brojevnom sustavu: 0. 0011011 .

Stoga možemo napisati:

0.214 10 =0.0011011 2 .

Primjer 8 . Pretvorimo broj 0,125 iz decimalnog brojevnog sustava u binarni SS.

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

Za pretvorbu broja 0,125 iz decimalnog SS u binarni, ovaj se broj uzastopno množi s 2. U trećoj fazi rezultat je 0. Posljedično, dobiva se sljedeći rezultat:

0.125 10 =0.001 2 .

Primjer 9 . Pretvorimo broj 0,214 iz decimalnog brojevnog sustava u heksadecimalni SS.

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

Slijedeći primjere 4 i 5, dobivamo brojeve 3, 6, 12, 8, 11, 4. Ali u heksadecimalnom SS, brojevi 12 i 11 odgovaraju brojevima C i B. Dakle, imamo:

0,214 10 =0,36C8B4 16 .

Primjer 10 . Pretvorimo broj 0,512 iz decimalnog brojevnog sustava u oktalni SS.

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

dobio:

0.512 10 =0.406111 8 .

Primjer 11 . Pretvorimo broj 159.125 iz decimalnog brojevnog sustava u binarni SS. Da bismo to učinili, odvojeno prevedemo cijeli dio broja (primjer 4) i razlomački dio broja (primjer 8). Daljnjim kombiniranjem ovih rezultata dobivamo:

159.125 10 =10011111.001 2 .

Primjer 12 . Pretvorimo broj 19673.214 iz decimalnog brojevnog sustava u heksadecimalni SS. Da bismo to učinili, odvojeno prevodimo cijeli broj (primjer 6) i razlomački dio broja (primjer 9). Nadalje, kombiniranjem ovih rezultata dobivamo.