16 in hexadecimaal. Nummersystemen. Positioneel getalsysteem hexadecimaal

Hexadecimaal getalsysteem. ons eerste programma.

Om programma's in Assembly te schrijven, moet u het hexadecimale getalsysteem begrijpen. Er is niets ingewikkelds aan. In het leven gebruiken we het decimale systeem. Ik weet zeker dat jullie het allemaal weten, dus ik zal proberen het hexadecimale systeem uit te leggen aan de hand van een analogie met het decimale systeem.

Dus als we in het decimale systeem een ​​nul toevoegen aan een willekeurig getal aan de rechterkant, wordt dit getal tien keer groter. Bijvoorbeeld: 1 x 10 = 10; 10 x 10 = 100; 100 x 10 = 1000, enz. In dit systeem gebruiken we getallen van 0 tot en met 9, d.w.z. tien verschillende getallen (daarom wordt het decimaal genoemd).

In het hexadecimale systeem gebruiken we zestien "cijfers". Ik heb specifiek het woord “cijfers” tussen aanhalingstekens geschreven, omdat... Er worden niet alleen cijfers gebruikt. En echt, hoe kan dat? Laat het me uitleggen: van 0 tot 9 tellen we op dezelfde manier als decimaal, maar dan wordt het zo: A, B, C, D, E, F. Het getal F is niet moeilijk tellen, zal het gelijk zijn aan 15 in het decimale systeem (zie Tabel 1).

Decimaal getal

Hexadecimaal getal

Tabel 1. Decimale en hexadecimale systemen.

Als we dus rechts van een willekeurig getal in het hexadecimale systeem een ​​nul toevoegen, zal dit getal toenemen met16 eenmaal.

Voorbeeld 1: 1 x 16 = 10; 10 x 16 = 100; 100 x 16 = 1000, enz.

Kon u in voorbeeld 1 hexadecimale getallen onderscheiden van decimale getallen? En uit deze serie: 10, 12, 45, 64, 12, 8, 19? Deze kunnen hexadecimaal of decimaal zijn. Om verwarring te voorkomen en de computer het ene getal duidelijk van het andere te kunnen onderscheiden, is het in assembler gebruikelijk om het symbool h of H na een hexadecimaal getal te plaatsen ( H is een afkorting voor Engels. hexadecimaal (hexadecimaal). Kortheidshalve wordt het soms gewoon genoemd Hex ) . En zet niets achter de komma. Omdat getallen van 0 tot en met 9 hebben in beide systemen dezelfde betekenis, dan zijn de getallen geschreven als 5 en 5h hetzelfde.

Dat. Voorbeeld 1 (zie hierboven) zou correcter zijn om als volgt te schrijven: 1 x 16 = 10h; 10u x 16 = 100u; 100u x 16 = 1000u. Of zo: 1u x 10u = 10u; 10u x 10u = 100u; 100u x 10u = 1000u.

In volgende nummers zullen we bekijken waarom het hexadecimale systeem nodig is. Voor nu moeten we voor ons voorbeeldprogramma, dat hieronder wordt besproken, op de hoogte zijn van het bestaan ​​van hexadecimale getallen.

Dus laten we het samenvatten. Het hexadecimale getalsysteem bestaat uit 10 cijfers (van 0 tot 9) en 6 letters van het Latijnse alfabet (A, B, C, D, E, F). Als we rechts van een willekeurig getal in het hexadecimale systeem een ​​nul toevoegen, wordt dit getal met verhoogd16 eenmaal. Het is erg belangrijk om dit onderwerp te begrijpen, omdat we het constant zullen gebruiken bij het schrijven van programma's.

Nu een beetje over hoe ik voorbeelden ga bouwen in Assembly. Het is niet helemaal handig om ze in HTML-formaat te presenteren, dus eerst zal er de programmacode zelf zijn met genummerde regels, en onmiddellijk daarna zullen er uitleg en opmerkingen zijn.

Iets als dit:

lijnen Programmacode
(1) mov ah, 9

Uitleg:

In regel (1) doen we dit, en in regel (15) doen we dat.

Groot verzoek: Kopieer GEEN programma's van een pagina naar het klembord en plak ze vervolgens in Kladblok (of ergens anders)! Typ ze handmatig opnieuw in een teksteditor. Als u een printer heeft, selecteert u het programma, drukt u het geselecteerde fragment af en brengt u het vanaf papier over naar de editor. Alle voorbeelden moeten zelf getypt worden! Dit versnelt het onthouden van operators.

En nog een ding. Er is geen verschil tussen kleine letters en hoofdletters in assembler. Registratie van het formulier:

De assembler neemt ze op dezelfde manier waar. Je kunt de assembler natuurlijk dwingen onderscheid te maken tussen kleine letters en hoofdletters, maar dat doen we voorlopig niet. Om het programma gemakkelijker leesbaar te maken, kunt u operatoren het beste in kleine letters typen en de namen van subroutines en labels in hoofdletters beginnen. Maar het hangt ervan af wie zich op zijn gemak zal voelen.

Laten we dus verder gaan met ons eerste programma:

(1) CSEG-segment

(2)org 100u

(4) Begin:

(6) beweeg ah,9

(7) mov dx, offsetbericht

(8) tot 21u

(10) tot 20u

(11)

(12) Bericht db "Hallo wereld!$"

(13) CSEG eindigt

(14) einde Begin

Om alle operatoren in dit voorbeeld uit te leggen, hebben we verschillende edities nodig. Daarom zullen we in dit stadium eenvoudigweg de beschrijving van enkele commando's achterwege laten. Ga er maar van uit dat het zo zou moeten zijn. We zullen deze operators in de zeer nabije toekomst in detail bekijken. Dus de regels genummerd (1), (2) en (13) negeert u eenvoudigweg.

De regels (3), (5), (9) en (11) worden blanco gelaten. Dit is gedaan voor de duidelijkheid. De assembler zal ze gewoon weglaten.

Laten we nu verder gaan met het bekijken van de resterende operators. De programmacode begint met regel (4). Dit is een markering die de assembler vertelt over het begin van de code. Regel (14) bevat het einde van de operator Begin ( Begin Engels begin; einde einde). Dit is het einde van het programma. Over het algemeen in plaats van het woord Beginnen er had iets anders gebruikt kunnen worden. Bijvoorbeeld, Begin:. In dit geval zouden we het programma moeten beëindigen Eindbegin (14).

Regels (6) (8) tonen het bericht Hallo wereld!. Hier zullen we kort moeten praten over processorregisters (we zullen dit onderwerp in het volgende nummer in meer detail bekijken).

Een processorregister is een speciaal toegewezen geheugen voor het opslaan van een getal.

Bijvoorbeeld:

Als we twee getallen willen optellen, schrijven we dit in de wiskunde als volgt:

A, B en C dit zijn een soort registers (als we het over een computer hebben) waarin bepaalde gegevens kunnen worden opgeslagen. A=5 kan gelezen worden als: Geef A het getal 5 .

Om een ​​register een waarde toe te wijzen, is er een mov-operator in Assembler (van het Engelse move load). Regel (6) moet als volgt worden gelezen: Laden in het register AH.nummer 9 (met andere woorden, we wijzen toe AH.nummer 9). Hieronder zullen we bekijken waarom dit nodig is.

In regel (7) laden we het register in DX berichtadres voor uitvoer (in dit voorbeeld zal dit de stringHallo wereld!$).

Interrupts worden in de volgende nummers uitgebreid besproken. Hier zal ik een paar woorden zeggen.

Onderbreken MS-DOS het is een soort subroutine (part MS-DOS), dat zich permanent in het geheugen bevindt en op elk moment vanuit elk programma kan worden opgeroepen.

Laten we het bovenstaande bekijken aan de hand van een voorbeeld (Aantekeningen in kleine lettertjes):

Programma voor het optellen van twee getallen

HomeProgramma's

EEN=5 We voeren de waarde 5 in variabele A in

B=8 aan variabele B de waarde 8

Subroutines toevoegen

nu is C gelijk aan 13

EEN=10 hetzelfde, alleen andere cijfers

B=25

Subroutines toevoegen

nu is C gelijk aan 35

Einde van het programma

Subroutine toevoeging

C=A+B

ReturnFromSubroutine we keren terug naar de plaats vanwaar we belden

EindeSubroutine

In dit voorbeeld hebben we de subroutine twee keer aangeroepen Toevoeging, waardoor er twee getallen aan werden toegevoegd die in variabelen werden doorgegeven A en B . Het resultaat wordt in de variabele C geplaatst. Wanneer een subroutine wordt aangeroepen, onthoudt de computer waar deze vandaan kwam, en wanneer de subroutine klaar is met draaien, keert de computer terug naar de plaats vanwaar deze werd aangeroepen. Dat. U kunt subroutines een onbeperkt aantal keren oproepen, waar u ook bent.

Bij het uitvoeren van regel (8) van een Assembly-programma roepen we een subroutine aan (in dit geval een interrupt genoemd), die de regel op het scherm weergeeft. Hiervoor plaatsen we feitelijk de benodigde waarden in registers. Al het noodzakelijke werk (een lijn uitvoeren, de cursor verplaatsen) wordt overgenomen door de subroutine. Deze regel kun je als volgt lezen: roep de eenentwintigste interrupt aan ( int uit het Engels onderbreken onderbreken). Houd er rekening mee dat er na het cijfer 21 een letter staat H . Dit is, zoals we al weten, een hexadecimaal getal (33 in decimaal getal). Niets weerhoudt ons er uiteraard van om de lijn te vervangen van int 21u tot int 33. Het programma zal correct werken. Het is gebruikelijk in Assembler om het interruptnummer in hexadecimaal aan te geven.

In regel (10) noemen we, zoals je misschien al geraden hebt, interrupt 20 H . Om deze interrupt aan te roepen, hoeft u geen waarden in de registers op te geven. Het voert slechts één taak uit: het programma afsluiten (naar DOS gaan). Als gevolg van interrupt 20h keert het programma terug naar waar het is gestart (geladen, gebeld). Bijvoorbeeld, binnen Norton Commander of DOS-navigator.

Regel (12) bevat het uit te voeren bericht. Eerste woord ( bericht bericht) berichttitel. Het kan van alles zijn (bijvoorbeeld puinhoop of string, enz.). OVER Let op regel (7), waarin we in het register laden DX ons berichtadres.

We kunnen een andere lijn maken, die we zullen bellen Mess2. Voer vervolgens, beginnend vanaf regel (9), de volgende opdrachten in:

(10) mov dx, offset Mess2

(13) Bericht db "Hallo wereld!$"

(14) Mess2 db "Ik ben het! $"

en stel ons programma opnieuw samen. Ik hoop dat je kunt raden wat er gaat gebeuren

Let op het laatste teken in de regels Bericht en bericht2 - $. Het wijst naar het einde van de regel. Als we het verwijderen, dan 21 H de interrupt blijft doorgaan totdat hij ergens in het geheugen een teken tegenkomt $. Op het scherm zullen we het zien afval .

Als u een debugger heeft, kunt u zien hoe ons programma werkt.

Het doel van deze kwestie was niet om het te begrijpen gedetailleerd met elke operator. Dit is onmogelijk, omdat je hebt nog niet genoeg kennis. Ik geloof dat je na 3-4 releases het principe en de structuur van een Assembly-programma zult begrijpen. Misschien leek de Assemblee-taal je buitengewoon ingewikkeld, maar geloof me, dit is op het eerste gezicht zo.

Ontstaan ​​in het oude Babylon. In India werkt het systeem in de vorm van positionele decimale nummering waarbij gebruik wordt gemaakt van nul; de Arabische natie heeft dit getallenstelsel van de Indiërs overgenomen, en de Europeanen hebben het op hun beurt van hen overgenomen. In Europa werd dit systeem Arabisch genoemd.

Positioneel systeemgegist bestek— de betekenis van alle cijfers hangt af van de positie (cijfer) van het gegeven cijfer in het getal.

Voorbeelden, het standaard decimale getalsysteem is een positioneel systeem. Laten we zeggen dat we een getal hebben gegeven453 . Nummer 4 staat voor honderden en komt overeen met een getal400, 5 - aantal tientallen en komt overeen met de waarde50 , A 3 - eenheden en betekenis3 . Het is gemakkelijk in te zien dat naarmate het cijfer toeneemt, de waarde toeneemt. We schrijven het gegeven getal dus als een som400+50+3=453.

Hexadecimaal getalsysteem.

Hexadecimaal getalsysteem(hexadecimale getallen) - positioneel getalsysteem. Hexadecimale basis is het getal 16.

Door getallen in het octale getalsysteem te schrijven krijgen we tamelijk compacte uitdrukkingen, maar in het hexadecimale systeem krijgen we compactere uitdrukkingen.

De eerste tien cijfers van de zestien hexadecimale cijfers zijn standaardafstanden 0 - 9 , worden de volgende zes cijfers uitgedrukt met behulp van de eerste letters van het Latijnse alfabet: A, B, C, D, E, F. Conversie van hexadecimaal naar binair en omgekeerd is vergelijkbaar met het proces voor octaal.

Toepassing van het hexadecimale getalsysteem.

Het hexadecimale getalsysteem wordt vrij goed gebruikt in moderne computers, Bijvoorbeeld gebruik het om kleur aan te geven: #FFFFFF- witte kleur.

Getallen omzetten van het ene getalsysteem naar het andere.

Getallen omzetten van hexadecimaal naar decimaal.

Om een ​​hexadecimaal getal naar een decimaal getal te converteren, moet je het gegeven getal reduceren tot de vorm van de som van de producten van de machten van het grondtal van het hexadecimale getalsysteem met de overeenkomstige cijfers in de cijfers van het hexadecimale getal.

Bijvoorbeeld, converteer het hexadecimale getal 5A3 naar decimaal. Hier 3 cijfers. Op basis van de bovenstaande regel reduceren we deze tot de vorm van een som van machten met een grondtal van 16:

5A3 16 = 3·16 0 +10·16 1 +5·16 2 = 3·1+10·16+5·256 = 3+160+1280 = 1443 10

Getallen converteren van binair naar hexadecimaal en omgekeerd.

Om een ​​meercijferig binair getal naar hexadecimaal te converteren, moet je het van rechts naar links in tetrads verdelen en alle tetrads vervangen door het overeenkomstige hexadecimale cijfer. Om een ​​getal van het hexadecimale systeem naar het binaire systeem te converteren, moet je elk cijfer in de overeenkomstige tetrads uit de conversietabel, die je hieronder vindt, veranderen.

Bijvoorbeeld:

010110100011 2 = 0101 1010 0011 = 5A3 16

Nummerconversietabel.

Een algoritme voor het omzetten van getallen van het ene getalsysteem naar het andere.

1. Vanuit het decimale getalsysteem:

  • deel het getal door de basis van het vertaalde getalsysteem;
  • vind de rest bij het delen van het gehele deel van een getal;
  • noteer alle restanten van de deling in omgekeerde volgorde;

2. Vanuit het binaire getalsysteem:

  • om te converteren naar het decimale getalsysteem, vinden we de som van de producten van grondtal 2 met de overeenkomstige cijfergraad;
  • Om een ​​getal naar octaal om te zetten, verdelen we het getal in drieklanken.

Bijvoorbeeld 1000110 = 1.000.110 = 1068

  • Om een ​​getal van het binaire getalsysteem naar hexadecimaal om te zetten, verdelen we het getal in groepen van 4 cijfers.

Bijvoorbeeld 1000110 = 100 0110 = 4616.

Vertaaltabellen:

Binaire SS

Hexadecimale SS

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Binaire SS

Nu is er een heel gemakkelijke stap vooruit in verband met het hexadecimale getalsysteem. In dit geval hopen we dat u vermoedt, en waarschijnlijk terecht, dat we nu 16 verschillende cijfers zouden moeten hebben.

Maar zoals we weten, zijn er slechts tien traditionele (“Arabische”) cijfers. En er zijn zestien nodig. Het blijkt dat er zes karakters ontbreken.

Opmerking
Er ontstaat dus een puur ontwerptaak ​​met betrekking tot het onderwerp "Tekens" - het bedenken van de ontbrekende symbolen voor de cijfers
.

Dit betekent dat specialisten ooit met een aantal nieuwe signalen moesten komen. Maar er was eens, aan het begin van het computertijdperk, niet veel keuze in tekens. Programmeurs hadden alleen cijfers en letters tot hun beschikking. Daarom namen ze het elementaire pad: ze namen de eerste letters van het Latijnse alfabet als cijfers, vooral omdat dit historisch gezien niet de eerste keer was (we hebben al vermeld dat veel mensen aanvankelijk letters gebruikten in plaats van cijfers).

Opmerking
We hopen dat iedereen begrijpt waarom het in dit geval onmogelijk is om bijvoorbeeld de cijfers "10", "11", "12", enz. te gebruiken? Want als we het hebben over het hexadecimale getalsysteem, dan zou het zestien moeten zijn cijfers, geen cijfers
.

En het decimale getal "10" begon te worden aangegeven met de Latijnse letter "A" (meer precies: "nummer A"). Dienovereenkomstig komen de cijfers “B”, “C”, “D”, “E” en “P” als volgende.

Omdat we van plan waren een hexadecimaal systeem te bouwen, beginnend bij nul, zijn dit precies 16 cijfers. Het cijfer "D" is bijvoorbeeld het decimale getal "13" en het cijfer "F" is het decimale getal "15".

Wanneer we één optellen bij het hexadecimale getal ‘F’, plaatsen we, omdat deze cijfers op zijn, ‘O’ in dit cijfer en verplaatsen we er één naar het volgende cijfer, zodat het blijkt dat het decimale getal ‘16’ ” zal in het hexadecimale getalsysteem worden weergegeven door het getal "10", d.w.z. het blijkt een "hexadecimale tien" te zijn. Laten we decimale en hexadecimale getallen combineren in één tabel (Tabel 4.5).

Tabel 4.5. Overeenkomende decimale en hexadecimale getallen.

Decimaal getal Hexadecimaal getal Decimaal getal Hexadecimaal getal
0-9 0-9 29 1D
10 A 30 1E
11 IN 31 1F
12 MET 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

Het hexadecimale systeem wordt gebruikt om binaire informatie compacter vast te leggen. In feite beslaat een "hexadecimaal duizendtal", bestaande uit vier cijfers, dertien cijfers in binair getal (1000 16 = 1000000000000 2).

Bij het bespreken van getalsystemen zijn herhaaldelijk "tientallen", "honderden" en "duizenden" verschenen, dus het is noodzakelijk om aandacht te besteden aan de zogenaamde "ronde" getallen.

Het hexadecimale getalsysteem heeft een alfabet dat uit 16 cijfers bestaat:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, c, d, e, f.

Bij het schrijven van een getal in het hexadecimale systeem worden respectievelijk de letters A, B, C, D, E, F gebruikt om de cijfers te schrijven die de getallen 10, 11, 12. 13, 14. 15 aanduiden.

Getallen omzetten van hexadecimaal naar decimaal

U kunt elk hexadecimaal getal naar decimaal converteren met behulp van de reeds bekende formule

Voorbeelden.

    AE07 16 =10∙16 3 +14∙16 2 +0∙16 1 +7∙16 0 =44551 10 .

    100 16 =1∙16 2 +0∙16 1 +0∙16 0 =256 10 .

    58 16 =5∙16 1 +8∙16 0 =.88 10 .

    2A 16 =2∙16 1 +10∙16 0 =42 10.

Het omzetten van een getal van het decimale systeem naar hexadecimaal gebeurt op dezelfde manier als naar binair systeem.

Getallen converteren van hexadecimaal naar binair en omgekeerd

U kunt elk hexadecimaal getal als volgt naar binair converteren. Elk cijfer van een hexadecimaal getal wordt geschreven als een binair getal van vier cijfers: notitieboekje. Hierna kunnen de nullen aan de linkerkant worden weggegooid.

2) 2A= 0010 1010 2 = 101010 2 .

3) 58 16 = 0101 1000 2 = 1011000 2 .

Omgekeerd kunt u elk binair getal op dezelfde manier naar hexadecimaal converteren. Elke vier binaire cijfers, geteld van rechts naar links, worden geschreven als één hexadecimaal cijfer. Deze nummers bevinden zich ook van rechts naar links.

Voorbeelden.

2. 101010 2 = 10 1010 2 = 2A.

3. 1011000 2 = 101 1000 2 = 58 16 .

Octaal getalsysteem

Het octale getalsysteem heeft een alfabet dat uit 8 cijfers bestaat:

0, 1, 2, 3, 4, 5, 6, 7.

Het omzetten van een getal van het decimale stelsel naar octaal en andersom gaat op dezelfde manier als het omzetten van/naar binair getal.

Getallen converteren van octaal naar binair en terug

Elk cijfer van een octaal getal wordt geschreven als een binair getal van drie cijfers: triade.

Voorbeelden.

2563 8 = 010 101 110 011 2 =10101110011 2 .

1001101 2 = 001 001 101 2 = 115 8 .

Methodologisch materiaal voor laboratoriumles nr. 1

Onderwerp van de practicumles: Getalsystemen. Meetinformatie.

Aantal uren: 2.

Voorbeelden met oplossingen

    Vertaling vanP -air systeem naar 10-air systeem. Stel dat we een getal in een bepaald getalsysteem naar decimaal moeten converteren. Om dit te doen, moet u het in het formulier weergeven

11100110 2 = 1∙2 7 + 1∙2 6 + 1∙2 5 + 0∙2 4 + 0∙2 3 + 1∙2 2 + 1∙2 1 + 0∙2 0 = 128 + 64 + 32 + 4 + 2 = 230 10 .

2401 5 = 2∙5 3 + 4∙5 2 + 0∙5 1 + 1∙5 0 = 250 + 100 + 0 + 1 = 351.

    Conversie van 10-cijferig systeem naarP -ichnaya.

2.1 98 10 → X2.

Deel het getal door 2. Deel vervolgens het onvolledige quotiënt door 2. We gaan door totdat het onvolledige quotiënt kleiner wordt dan 2, d.w.z. gelijk aan 1.

    98: 2 = 49. Rest - 0 .

    49: 2 = 24. Rest - 1 .

    24: 2 = 12. Rest - 0 .

    12: 2 = 6. Rest - 0 .

    6: 2 = 3. Rest - 0 .

    3: 2 = 1 . 1 .

Omdat het laatste gedeeltelijke quotiënt 1 is, is het proces voorbij. We schrijven alle resten van onder naar boven op, te beginnen met het laatste onvolledige quotiënt, en we krijgen het getal 1100010. Dus 98 10 = 1100010 2.

2.2 2391 10 → X16.

Deel het getal door 16. Deel vervolgens het gedeeltelijke quotiënt door 16. Ga door totdat het gedeeltelijke quotiënt kleiner is dan 16.

    2391: 16 = 149. Rest - 7 .

    149: 16 = 9 . 5 .

Omdat het laatste gedeeltelijke quotiënt (9) kleiner is dan 16, is het proces voorbij. We schrijven, beginnend bij het laatste onvolledige quotiënt, alle resten op van onder naar boven en krijgen het getal 957. Dus 2391 10 = 957 16.

2.3 12165 10 → X2.

Als je per deling converteert naar het binaire systeem, krijg je een nogal omslachtig proces. U kunt het getal eerst naar octaal converteren en vervolgens de octale cijfers van rechts naar links vervangen door drieklanken.

12165 10 = 27605 8 = 010 111 110 000 101 = 10111110000101.

    Het bepalen van de basis van een getalstelselP .

Een jongen schreef over zichzelf: „Ik heb 24 vingers, vijf aan elke hand en twaalf aan mijn voeten.” Hoe kan dit?

Oplossing. Het is noodzakelijk om de basis van het nummersysteem te bepalen P. Omdat we weten dat er maar 10 tenen zijn, 10 en dan 12 P =1∙P+2 = 10 10 . Vanaf hier krijgen we de vergelijking P + 2 = 10  P= 8. De jongen bedoelde dus getallen in het octale systeem. Er zijn inderdaad 24 8 = 2∙8+4 = 20 10 tenen, en 12 8 = 1∙8+2 = 10 10 tenen.

Hexadecimaal getalsysteem(ook bekend als hexadecimale code) is een positioneel getalsysteem met een geheel getalgrondtal van 16. De term hex (uitgesproken als hex, een afkorting van het Engelse hexadecimaal) wordt soms ook in de literatuur gebruikt. De cijfers van dit nummersysteem worden meestal gebruikt in de Arabische cijfers 0-9, evenals in de eerste tekens van het Latijnse alfabet A-F. De letters komen overeen met de volgende decimale waarden:

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

Tien Arabische cijfers, gekoppeld aan zes Latijnse letters, vormen dus de zestien cijfers van het systeem.

Overigens kunt u op onze website elke tekst omzetten in decimale, hexadecimale, binaire code met behulp van de Online Code Calculator.

Sollicitatie. Hex-code veel gebruikt in programmeren op laag niveau en in verschillende computerreferentiedocumenten. De populariteit van het systeem wordt gerechtvaardigd door de architecturale oplossingen van moderne computers: ze hebben een byte (bestaande uit acht bits) als de minimale informatie-eenheid - en de waarde van een byte wordt handig geschreven met behulp van twee hexadecimale cijfers. De bytewaarde kan variëren van #00 tot #FF (0 tot 255 in decimale notatie) - met andere woorden, met hexadecimale code, kunt u elke status van de byte schrijven, terwijl er geen “extra” cijfers zijn die niet in de opname worden gebruikt.

Gecodeerd Unicode Er worden vier hexadecimale cijfers gebruikt om het tekennummer vast te leggen. De RGB-kleurnotatie (Rood, Groen, Blauw) maakt ook vaak gebruik van hexadecimale code (#FF0000 is bijvoorbeeld een helderrode kleurnotatie).

Een methode voor het schrijven van hexadecimale code.

Wiskundige manier van schrijven. In wiskundige notatie wordt de basis van het systeem in decimale vorm geschreven als een subscript rechts van het getal. De decimale notatie van het getal 3032 kan worden geschreven als 3032 10, in het hexadecimale systeem zal dit getal de notatie BD8 16 hebben.

In de syntaxis van programmeertalen. De syntaxis van verschillende programmeertalen stelt het formaat voor het schrijven van een getal op verschillende manieren in hexadecimale code:

* De syntaxis van sommige varianten van assembleertaal gebruikt de Latijnse letter “h”, die rechts van het getal wordt geplaatst, bijvoorbeeld: 20Dh. Begint een getal met een Latijnse letter, dan wordt er een nul voor geplaatst, bijvoorbeeld: 0A0Bh. Dit wordt gedaan om waarden te onderscheiden met behulp van constanten van constanten. hexadecimale code;

* Andere soorten assembler, evenals Pascal (en zijn varianten zoals Delphi) en enkele Basic-dialecten, gebruiken het voorvoegsel "$": $A15;

* In de HTML-opmaaktaal, evenals in trapsgewijze CSS-bestanden, wordt het voorvoegsel “#” gebruikt om de kleur in RGB-indeling aan te geven met hexadecimale notatie: #00DC00.

Hoe hexadecimale code naar een ander systeem converteren?

Converteren van hexadecimaal naar decimaal. Om een ​​conversie van het hexadecimale systeem naar het decimale systeem uit te voeren, moet u het oorspronkelijke getal weergeven als de som van de producten van de cijfers in de cijfers van het hexadecimale getal en de macht van het grondtal.

Binaire SS

hex SS

U moet bijvoorbeeld het hexadecimale getal A14 vertalen: het heeft drie cijfers. Met behulp van de regel schrijven we het als een som van machten met een grondtal van 16:

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

Getallen omzetten van binair naar hexadecimaal en omgekeerd.

Voor de vertaling wordt een notitieboekjetafel gebruikt. Om een ​​getal van het binaire naar het decimale systeem om te zetten, moet u het van rechts naar links in afzonderlijke tetrads splitsen en vervolgens, met behulp van de tabel, elke tetrad vervangen door het overeenkomstige hexadecimale cijfer. Als het aantal cijfers bovendien geen veelvoud van vier is, is het noodzakelijk om het overeenkomstige aantal nullen rechts van het getal toe te voegen, zodat het totale aantal binaire cijfers een veelvoud van vier wordt.

Tabel met notitieboekjes voor vertaling.

Om van hexadecimaal naar binair te converteren, moet u de omgekeerde bewerking uitvoeren: vervang elk cijfer door een tetrad uit de tabel.

Binaire SS

Octale SS

Voorbeeld conversie van hexadecimaal naar binair: A5E 16 = 1010 0101 1110 = 101001011110 2

Voorbeeld conversie van binair naar hexadecimaal: 111100111 2 = 0001 1110 0111 = 1E7 16

In dit voorbeeld was het aantal cijfers in het oorspronkelijke binaire getal niet vier (9), dus werden er voorloopnullen toegevoegd voor een totaal van 12 cijfers.

Automatische vertaling. Een snelle conversie van het hexadecimale getalsysteem naar een van de drie populaire systemen (binair, octaal en decimaal), evenals de omgekeerde conversie, kunnen worden uitgevoerd met behulp van een standaardrekenmachine die bij Windows OS wordt geleverd. Open de rekenmachine, selecteer Beeld -> Programmeur in het menu. In deze modus kunt u het momenteel gebruikte nummersysteem instellen (zie menu aan de linkerkant: Hex, Dec, Oct, Bin). In dit geval levert het wijzigen van het huidige nummersysteem automatisch een vertaling op.