Opname in hexadecimaal getalsysteem. Hexadecimale en binaire getalsystemen

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 in plaats van cijfers gebruikten).

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" werd aangeduid 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, krijgen we hier 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 bij mensen bekende getallenstelsel is decimaal. Het is gebaseerd op tien cijfers van 0 tot 9. Het hexadecimale systeem onderscheidt zich door de aanwezigheid daarin van de eerste zes letters van het Latijnse alfabet voor het schrijven van cijfers naast de basisnummers. Dat wil zeggen, het getal 9 wordt gevolgd door het symbool “A”, wat overeenkomt met het getal 10 voor het decimale systeem. Dienovereenkomstig is F in hexadecimaal 16 in decimaal. Het gebruik van zestien tekens in het systeem is geen willekeurige keuze.

De eenheid van informatie is een beetje. Acht bits vormen een byte. Er bestaat een concept als een machinewoord: een gegevenseenheid die twee, dat wil zeggen zestien bits vertegenwoordigt. Met behulp van zestien verschillende symbolen is het dus mogelijk om alle informatie te beschrijven die tijdens de gegevensuitwisseling het kleinste deeltje zal zijn. U kunt er alle rekenkundige bewerkingen mee uitvoeren en het resultaat wordt dienovereenkomstig ook in het hexadecimale systeem verkregen.

Om te onderscheiden dat een getal in hexadecimaal is geschreven, wordt de letter “h” of het subscript “16” erna geschreven.

Sollicitatie

Het meest voorkomende gebruik van het hexadecimale getalsysteem vindt plaats in foutcodes van softwareproducten, bijvoorbeeld een besturingssysteem. De cijfers in deze codes zijn gestandaardiseerd. Als u een speciale tabel heeft, kunt u altijd bepalen wat deze of gene fout precies betekent.

In talen op laag niveau, die zo dicht mogelijk bij machinecode liggen, wordt het hexadecimale systeem gebruikt om programma's te schrijven. Veel programmeurs gebruiken het ook bij het werken met talen op hoog niveau, omdat de getallen in dit systeem, met behulp van een speciale correspondentietabel, eenvoudig kunnen worden omgezet in het binaire systeem waarop de werking van alle digitale technologie is gebaseerd. Alle informatie op een computer, of het nu een muziekbestand of een tekstdocument is, wordt na vertaling weergegeven door een reeks binaire broncodes, en het is handiger om deze weer te geven in de vorm van hexadecimale symbolen.

Een van de toepassingen van hexadecimale symbolen is ook de beschrijving van kleurenschema's, dat wil zeggen dat de drie componenten R, G en B worden beschreven op een manier die geschikt is voor een bepaald systeem. Deze opnamebenadering wordt hexadecimale kleur genoemd

Dankzij de mogelijkheid om een ​​programma in hexadecimale code te bekijken, kunt u fouten in het programma opsporen en wijzigingen aanbrengen, en aanvallers gebruiken deze aanpak om programma's te hacken.

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 converteren 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

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.

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 laboratoriumles: 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.

We delen het getal door 2. Vervolgens delen we 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 . Rest - 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 . Rest - 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.

Hexadecimale notatie ("Hex")- een handige manier om binaire waarden weer te geven. Net zoals het decimale getallenstelsel een grondtal van tien heeft en het binaire getallenstelsel een grondtal van twee heeft, heeft het hexadecimale getallenstelsel een grondtal van zestien.

Het grondtalsysteem met grondtal 16 gebruikt de cijfers 0 tot en met 9 en de letters A tot en met F. De afbeelding toont de equivalente decimale, binaire en hexadecimale waarden voor de binaire getallen 0000 tot en met 1111. We vinden het gemakkelijker om een ​​waarde als één uit te drukken. hexadecimaal cijfer dan als vier bits

Bytes begrijpen

Gegeven dat 8 bits (bytes) de standaard binaire groepering is, kunnen de binaire getallen 00000000 tot 11111111 in hexadecimale notatie worden weergegeven als de getallen 00 tot FF. Er worden altijd voorloopnullen weergegeven om de 8-bits representatie te voltooien. De binaire waarde 0000 1010 in hexadecimaal zou bijvoorbeeld 0A zijn.

Vertegenwoordiging van hexadecimale waarden

Houd er rekening mee dat: Het is belangrijk om voor de tekens 0 tot en met 9 onderscheid te maken tussen hexadecimale waarden en decimale waarden, zoals weergegeven in de afbeelding.

Hexadecimale waarden worden in tekst meestal weergegeven door een waarde voorafgegaan door 0x (zoals 0x73), of door een subscript van 16 te gebruiken. Minder vaak worden ze gevolgd door de letter H, zoals 73H. Omdat subscripttekst echter niet wordt herkend op de opdrachtregel of in programmeeromgevingen, wordt deze in de technische weergave van hexadecimale getallen voorafgegaan door "0x" (nul X). Daarom worden de bovenstaande voorbeelden respectievelijk weergegeven als 0x0A en 0x73.

Hexadecimale notatie wordt gebruikt om Ethernet MAC-adressen en IP Versie 6-adressen weer te geven.

Hexadecimale conversies

Het omzetten van getallen tussen decimale en hexadecimale waarden is eenvoudig, maar snel delen of vermenigvuldigen door 16 is niet altijd handig. Als dergelijke conversies nodig zijn, is het meestal gemakkelijker om een ​​decimale of hexadecimale waarde naar binair getal te converteren en vervolgens de binaire waarde naar decimaal of hexadecimaal te converteren, afhankelijk van wat u wilt verkrijgen.

Met oefening is het mogelijk om de binaire bitpatronen te herkennen die overeenkomen met decimale en hexadecimale waarden. De figuur toont deze patronen voor enkele 8-bits waarden.