16 heksadesimaalimuodossa. Numerojärjestelmät. Paikkalukujärjestelmä heksadesimaali

Heksadesimaalilukujärjestelmä. ensimmäinen ohjelmamme.

Jotta voit kirjoittaa ohjelmia Assemblyssa, sinun on ymmärrettävä heksadesimaalilukujärjestelmä. Siinä ei ole mitään monimutkaista. Käytämme elämässä desimaalijärjestelmää. Olen varma, että te kaikki tiedätte sen, joten yritän selittää heksadesimaalijärjestelmän analogisesti desimaalijärjestelmän kanssa.

Joten desimaalijärjestelmässä, jos lisäämme nollan mihin tahansa oikealla olevaan numeroon, tämä luku kasvaa 10 kertaa. Esimerkki: 1 x 10 = 10; 10 x 10 = 100; 100 x 10 = 1000 jne. Tässä järjestelmässä käytämme numeroita 0-9, ts. kymmenen erilaista numeroa (itse asiassa, siksi sitä kutsutaan desimaaliluvuksi).

Heksadesimaalijärjestelmässä käytämme kuuttatoista "numeroa". Kirjoitin nimenomaan sanan "numerot" lainausmerkkeihin, koska... Se ei käytä vain numeroita. Ja oikeasti, miten se voi olla? Selitän: 0:sta 9:ään lasketaan samalla tavalla kuin desimaaliluvulla, mutta silloin se on näin: A, B, C, D, E, F. Luku F ei ole vaikea count, se on yhtä kuin 15 desimaalijärjestelmässä (katso taulukko 1).

Desimaaliluku

Heksadesimaaliluku

Taulukko 1. Desimaali- ja heksadesimaalijärjestelmät.

Jos siis lisäämme nollan minkä tahansa luvun oikealle puolelle heksadesimaalijärjestelmässä, tämä luku kasvaa16 kerran.

Esimerkki 1: 1 x 16 = 10; 10 x 16 = 100; 100 x 16 = 1000 jne.

Pystytkö erottamaan heksadesimaaliluvut desimaaliluvuista esimerkissä 1? Ja tästä sarjasta: 10, 12, 45, 64, 12, 8, 19? Ne voivat olla joko heksadesimaali- tai desimaalilukuja. Jotta vältetään sekaannukset ja tietokone pystyisi erottamaan numerot selvästi toisistaan, assemblerissä on tapana sijoittaa symboli h tai H heksadesimaaliluvun perään ( H on lyhenne englannista. heksadesimaali (heksadesimaali). Lyhyyden vuoksi sitä kutsutaan joskus yksinkertaisesti Hex ) . Ja älä laita mitään desimaalin jälkeen. Koska molemmissa järjestelmissä numeroilla 0 - 9 on sama merkitys, silloin luvuilla 5 ja 5h kirjoitetut numerot ovat samat.

Että. Esimerkki 1 (katso yllä) olisi oikeampi kirjoittaa näin: 1 x 16 = 10h; 10 h x 16 = 100 h; 100 h x 16 = 1000 h. Tai näin: 1h x 10h = 10h; 10 h x 10 h = 100 h; 100h x 10h = 1000h.

Tarkastellaan myöhemmissä numeroissa, miksi heksadesimaalijärjestelmää tarvitaan. Toistaiseksi esimerkkiohjelmassamme, jota käsitellään alla, meidän on tiedettävä heksadesimaalilukujen olemassaolosta.

Joten tehdään yhteenveto. Heksadesimaalilukujärjestelmä koostuu 10 numerosta (0-9) ja 6 latinalaisten aakkosten kirjaimesta (A, B, C, D, E, F). Jos lisäämme nollan minkä tahansa luvun oikealle puolelle heksadesimaalijärjestelmässä, tämä luku kasvaa16 kerran. On erittäin tärkeää ymmärtää tämä aihe, koska käytämme sitä jatkuvasti ohjelmia kirjoittaessamme.

Nyt vähän siitä, kuinka rakennan esimerkkejä Assemblyssa. Ei ole aivan kätevää esittää niitä HTML-muodossa, joten ensin tulee itse ohjelmakoodi numeroiduilla riveillä ja heti sen jälkeen selitykset ja huomautukset.

Jotain tällaista:

rivit Ohjelmakoodi
(1) mov ah, 9

Selitykset:

Rivillä (1) teemme tämän ja rivillä (15) teemme sen.

Valtava pyyntö: ÄLÄ kopioi ohjelmia sivulta leikepöydälle ja liitä niitä sitten Muistioon (tai mihin tahansa muualle)! Kirjoita ne uudelleen manuaalisesti tekstieditorissa. Jos sinulla on tulostin, valitse ohjelma, tulosta valittu fragmentti ja siirrä se sitten paperilta editoriin. Kaikki esimerkit tulee kirjoittaa itse! Tämä nopeuttaa operaattoreiden muistamista.

Ja vielä yksi asia. Assemblerissa ei ole eroa pienten ja isojen kirjainten välillä. Lomakkeen tietueet:

Kokoonpanija näkee ne samalla tavalla. Voit tietysti pakottaa assemblerin erottamaan pienet ja isot kirjaimet, mutta emme tee tätä toistaiseksi. Ohjelman luettavuuden helpottamiseksi on parasta kirjoittaa operaattorit pienillä kirjaimilla ja aloittaa aliohjelmien ja tarrojen nimet isoilla kirjaimilla. Mutta se riippuu siitä, kuka viihtyy.

Joten siirrytään ensimmäiseen ohjelmaamme:

(1) CSEG-segmentti

(2)org 100h

(4) Aloita:

(6) mov ah,9

(7) mov dx,offset Viesti

(8) int 21h

(10) int 20h

(11)

(12) Viesti db "Hei, maailma!$"

(13)CSEG päättyy

(14) loppu Aloita

Jotta voimme selittää kaikki tämän esimerkin operaattorit, tarvitsemme useita versioita. Siksi jätämme yksinkertaisesti pois joidenkin komentojen kuvauksen tässä vaiheessa. Oletetaan vain, että näin sen pitäisi olla. Tarkastelemme näitä operaattoreita tarkemmin lähitulevaisuudessa. Joten rivit numeroidut (1), (2) ja (13) jätät yksinkertaisesti huomioimatta.

Rivit (3), (5), (9) ja (11) jätetään tyhjiksi. Tämä tehdään selvyyden vuoksi. Kokoonpanija yksinkertaisesti jättää ne pois.

Siirrytään nyt tarkastelemaan jäljellä olevia operaattoreita. Ohjelmakoodi alkaa rivillä (4). Tämä on merkki, joka kertoo kokoajan koodin alkuun. Rivi (14) sisältää operaattorit end Begin ( Aloita englanti aloittaa; loppu loppu). Tämä on ohjelman loppu. Yleensä sanan sijaan Alkaa jotain muuta olisi voinut käyttää. Esimerkiksi, Aloita:. Tässä tapauksessa meidän on lopetettava ohjelma Loppu Aloitus (14).

Rivit (6) (8) näyttävät viestin Hello, world!. Tässä meidän on puhuttava lyhyesti prosessorirekistereistä (tarkastelemme tätä aihetta tarkemmin seuraavassa numerossa).

Prosessorirekisteri on erityisesti varattu muisti numeroiden tallentamista varten.

Esimerkiksi:

Jos haluamme lisätä kaksi numeroa, niin matematiikassa kirjoitamme sen näin:

A, B ja C nämä ovat eräänlaisia ​​rekistereitä (jos puhumme tietokoneesta), joihin voidaan tallentaa tietoja. A=5 voidaan lukea seuraavasti: Anna A:lle numero 5 .

Rekisterille arvon määrittämiseksi Assemblerissa on mov-operaattori (englannin kielestä move load). Rivi (6) pitäisi lukea näin: Ladataan rekisteriin AH.numero 9 (toisin sanoen annamme AH.numero 9). Alla tarkastellaan, miksi tämä on tarpeen.

Rivillä (7) lataamme rekisteriin DX viestin osoite ulostulolle (tässä esimerkissä se on merkkijonoHei maailma! $).

Keskeytyksiä käsitellään yksityiskohtaisesti seuraavissa numeroissa. Sanon tässä muutaman sanan.

Keskeyttää MS-DOS se on eräänlainen aliohjelma (osa MS-DOS), joka on pysyvästi muistissa ja jota voidaan kutsua milloin tahansa mistä tahansa ohjelmasta.

Tarkastellaan yllä olevaa esimerkin avulla (Huomautuksia pienellä kirjaimilla):

Ohjelma kahden numeron lisäämiseen

Kotiohjelmat

A=5 Syötetään muuttujaan A arvo 5

B = 8 muuttujaan B arvo 8

Aliohjelmien lisäyksen kutsuminen

nyt C on 13

A = 10 sama asia, vain eri numerot

B = 25

Aliohjelmien lisäyksen kutsuminen

nyt C on yhtä suuri kuin 35

Ohjelman loppu

Aliohjelman lisäys

C=A+B

ReturnFromSubrutine palaamme paikkaan, josta soitimme

EndSubroutine

Tässä esimerkissä kutsuimme aliohjelmaa kahdesti Lisäys, joka lisäsi siihen muuttujina siirrettyä kaksi numeroa A ja B . Tulos sijoitetaan muuttujaan C. Kun aliohjelmaa kutsutaan, tietokone muistaa, mistä se on kutsuttu, ja sitten, kun aliohjelma on suoritettu, tietokone palaa siihen paikkaan, josta se kutsuttiin. Että. Voit kutsua alirutiineja rajoittamattoman määrän kertoja mistä tahansa.

Assembly-ohjelman riviä (8) suoritettaessa kutsumme aliohjelmaa (tässä tapauksessa nimeltä keskeytys), joka näyttää rivin näytöllä. Tätä tarkoitusta varten itse asiassa sijoitamme tarvittavat arvot rekistereihin. Kaikki tarvittavat työt (rivin tulostaminen, kohdistimen siirtäminen) hoitaa aliohjelma. Tämä rivi voidaan lukea näin: kutsu 21. keskeytys ( int englannista keskeyttää keskeyttää). Huomaa, että numeron 21 jälkeen on kirjain h . Kuten jo tiedämme, tämä on heksadesimaaliluku (33 desimaalilukuna). Tietenkään mikään ei estä meitä vaihtamasta linjaa int 21h - int 33. Ohjelma toimii oikein. Assemblerissä on vain yleinen käytäntö ilmoittaa keskeytysnumero heksadesimaalimuodossa.

Rivillä (10) me, kuten ehkä arvasit, kutsumme keskeytyksen 20 h . Tämän keskeytyksen kutsumiseksi sinun ei tarvitse määrittää arvoja rekistereihin. Se suorittaa vain yhden tehtävän: poistuminen ohjelmasta (poistuminen DOS:iin). Keskeytyksen 20h suorittamisen seurauksena ohjelma palaa sinne, mistä se käynnistettiin (ladattiin, kutsuttiin). Esimerkiksi sisään Norton Commander tai DOS Navigator.

Rivi (12) sisältää tulostettavan viestin. Ensimmäinen sana ( viesti viesti) viestin otsikko. Se voi olla mikä tahansa (esim. sotku tai merkkijono jne.). NOIN Kiinnitä huomiota riviin (7), jolla lataamme rekisteriin DX viestiosoitteemme.

Voimme luoda toisen linjan, jota kutsumme Sotku 2. Lisää sitten riviltä (9) alkaen seuraavat komennot:

(10) mov dx,offset Mess2

(13) Viesti db "Hei, maailma!$"

(14) Mess2 db "Se olen minä! $"

ja koota ohjelmamme uudelleen. Toivottavasti voit arvata mitä tapahtuu

Kiinnitä huomiota rivien viimeiseen merkkiin Viesti ja Mess2 - $. Se osoittaa rivin loppuun. Jos poistamme sen, niin 21 h keskeytys jatkaa tulostamista, kunnes se kohtaa merkin jossain muistissa $. Näytöllä näemme roskaa.

Jos sinulla on debuggeri, voit nähdä, kuinka ohjelmamme toimii.

Tämän kysymyksen tarkoitus ei ollut ymmärtää yksityiskohtaisesti jokaisen operaattorin kanssa. Tämä on mahdotonta, koska sinulla ei ole vielä tarpeeksi tietoa. Uskon, että 3-4 julkaisun jälkeen ymmärrät Assembly-ohjelman periaatteen ja rakenteen. Ehkä Assemblyn kieli vaikutti sinusta erittäin monimutkaiselta, mutta usko minua, tämä on ensi silmäyksellä.

Syntyi muinaisesta Babylonista. Intiassa järjestelmä toimii paikkadesimaalinumerointina nollaa käyttäen, arabikansa lainasi tämän numerojärjestelmän intialaisilta, ja eurooppalaiset puolestaan ​​ottivat sen heiltä. Euroopassa tätä järjestelmää alettiin kutsua arabiaksi.

Positiojärjestelmäkuollut laskenta— kaikkien numeroiden merkitys riippuu annetun numeron paikasta (numerosta) numerossa.

Esimerkkejä, tavallinen desimaalilukujärjestelmä on paikkajärjestelmä. Oletetaan, että annettu numero453 . Määrä 4 tarkoittaa satoja ja vastaa lukua400, 5 - kymmenien lukumäärä ja vastaa arvoa50 , A 3 - yksiköt ja merkitys3 . On helppo nähdä, että kun numero kasvaa, arvo kasvaa. Näin ollen kirjoitetaan annettu luku summana400+50+3=453.

Heksadesimaalilukujärjestelmä.

Heksadesimaalilukujärjestelmä(heksadesimaaliluvut) - paikkalukujärjestelmä. Heksadesimaalikanta on numero 16.

Kirjoittamalla lukuja oktaalilukujärjestelmään saadaan melko kompakteja lausekkeita, mutta heksadesimaalijärjestelmässä kompakteja lausekkeita.

Kuudentoista heksadesimaalinumeron kymmenen ensimmäistä numeroa ovat vakiovälit 0 - 9 , seuraavat kuusi numeroa ilmaistaan ​​latinalaisten aakkosten ensimmäisillä kirjaimilla: A, B, C, D, E, F. Muuntaminen heksadesimaaliluvusta binäärimuotoon ja päinvastoin on samanlainen kuin oktaaliprosessi.

Heksadesimaalilukujärjestelmän soveltaminen.

Heksadesimaalilukujärjestelmää käytetään melko hyvin nykyaikaisissa tietokoneissa, Esimerkiksi käytä sitä värin ilmaisemiseen: #FFFFFF- valkoinen väri.

Lukujen muuntaminen numerojärjestelmästä toiseen.

Numeroiden muuntaminen heksadesimaalista desimaaliksi.

Jos haluat muuntaa heksadesimaaliluvun desimaaliluvuksi, sinun on vähennettävä annettu luku heksadesimaalilukujärjestelmän kantaluvun potenssien tulojen summaan vastaavilla numeroilla heksadesimaaliluvun numeroissa.

Esimerkiksi, muuntaa heksadesimaaliluvun 5A3 desimaaliin. Tässä 3 numeroita. Yllä olevan säännön perusteella vähennämme sen potenssien summaksi, jonka kanta on 16:

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

Numeroiden muuntaminen binääriluvuista heksadesimaalilukuiksi ja päinvastoin.

Jos haluat muuntaa moninumeroisen binaariluvun heksadesimaaliluvuksi, sinun on jaettava se tetradeiksi oikealta vasemmalle ja korvattava kaikki tetradit vastaavalla heksadesimaaliluvulla. Jos haluat muuntaa luvun heksadesimaalijärjestelmästä binäärijärjestelmäksi, sinun on muutettava jokainen numero vastaaviksi tetradeiksi muunnostaulukosta, joka löytyy alla.

Esimerkiksi:

010110100011 2 = 0101 1010 0011 = 5A3 16

Numeroiden muunnostaulukko.

Algoritmi lukujen muuntamiseksi numerojärjestelmästä toiseen.

1. Desimaalilukujärjestelmästä:

  • jaa luku käännetyn numerojärjestelmän pohjalla;
  • etsi jäännös, kun jaetaan luvun kokonaislukuosa;
  • kirjoita muistiin kaikki jaon jäännökset käänteisessä järjestyksessä;

2. Binäärilukujärjestelmästä:

  • muuntaaksesi desimaalilukujärjestelmään, löydämme kantaluvun 2 tulojen summan vastaavalla numeroasteella;
  • Muuntaaksesi luvun oktaaliksi, jaamme luvun kolmioiksi.

Esimerkiksi 1000110 = 1000110 = 1068

  • Muuntaaksesi luvun binäärilukujärjestelmästä heksadesimaaliksi, jaamme luvun 4 numeron ryhmiin.

Esimerkiksi 1000110 = 100 0110 = 4616.

Käännöstaulukot:

Binäärinen SS

Heksadesimaali SS

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Binäärinen SS

Nyt heksadesimaalilukujärjestelmään liittyy erittäin helppo kävelymatka. Toivomme, että tässä tapauksessa epäilet ja luultavasti aivan oikein, että meillä pitäisi nyt olla 16 eri numeroa.

Mutta kuten tiedämme, perinteisiä ("arabialaisia") numeroita on vain kymmenen. Ja se kestää kuusitoista. Osoittautuu, että kuusi merkkiä puuttuu.

Kommentti
Siten "Signs" -aiheessa syntyy puhtaasti suunnittelutehtävä - keksiä puuttuvat symbolit numeroille
.

Tämä tarkoittaa, että asiantuntijoiden piti aikoinaan keksiä uusia merkkejä. Mutta kerran, tietokoneiden aikakauden alussa, kylteissä ei ollut paljon valinnanvaraa. Ohjelmoijilla oli käytössään vain numeroita ja kirjaimia. Siksi he valitsivat alkeispolun: he ottivat latinalaisten aakkosten ensimmäiset kirjaimet numeroiksi, varsinkin kun historiallisesti tämä ei ollut ensimmäinen kerta (olemme jo maininneet, että alun perin monet kansat käyttivät kirjaimia numeroiden sijaan).

Kommentti
Toivomme kaikkien ymmärtävän, miksi tässä tapauksessa on mahdotonta käyttää esimerkiksi numeroita "10", "11", "12" jne.? Koska jos puhumme heksadesimaalilukujärjestelmästä, sen pitäisi olla kuusitoista numeroita, ei numeroita
.

Ja desimaalilukua "10" alettiin merkitä latinalaisella kirjaimella "A" (tarkemmin sanottuna "numero A"). Vastaavasti numerot "B", "C", "D", "E" ja "P" tulevat seuraavaksi.

Koska aioimme rakentaa heksadesimaalijärjestelmän nollasta alkaen, tämä on täsmälleen 16 numeroa. Esimerkiksi numero "D" on desimaaliluku "13" ja numero "F" on desimaaliluku "15".

Kun lisäämme yhden heksadesimaalilukuon "F", niin koska nämä numerot ovat loppuneet, laitamme tähän numeroon "O" ja siirrämme yhden seuraavaan numeroon, joten käy ilmi, että desimaaliluku "16 ” esitetään heksadesimaalilukujärjestelmässä numerolla "10", eli se osoittautuu "heksadesimaaliluvuksi kymmenen". Yhdistetään desimaali- ja heksadesimaaliluvut yhdeksi taulukoksi (taulukko 4.5).

Taulukko 4.5. Vastaavat desimaali- ja heksadesimaaliluvut.

Desimaaliluku Heksadesimaaliluku Desimaaliluku Heksadesimaaliluku
0-9 0-9 29 1D
10 A 30 1E
11 IN 31 1F
12 KANSSA 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

Heksadesimaalijärjestelmää käytetään binääritietojen tallentamiseen kompaktimmin. Itse asiassa "heksadesimaalituhat", joka koostuu neljästä numerosta, sisältää kolmetoista numeroa binäärimuodossa (1000 16 = 1000000000000 2).

Numerojärjestelmistä puhuttaessa "kymmeniä", "satoja" ja "tuhansia" on esiintynyt toistuvasti, joten on tarpeen kiinnittää huomiota niin kutsuttuihin "pyöreisiin" numeroihin.

Heksadesimaalilukujärjestelmässä on 16 numerosta koostuva aakkoset:

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

Kun kirjoitetaan lukua heksadesimaalijärjestelmässä, kirjaimia A, B, C, D, E, F käytetään vastaavasti numeroiden 10, 11, 12, 13, 14, 15 merkitsevien numeroiden kirjoittamiseen.

Numeroiden muuntaminen heksadesimaalista desimaaliksi

Voit muuntaa minkä tahansa heksadesimaaliluvun desimaaliksi käyttämällä jo tunnettua kaavaa

Esimerkkejä.

    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.

Luvun muuntaminen desimaalijärjestelmästä heksadesimaaliksi tapahtuu samalla tavalla kuin binääriluku.

Lukujen muuntaminen heksadesimaaliluvuista binäärilukuihin ja päinvastoin

Voit muuntaa minkä tahansa heksadesimaaliluvun binääriluvuksi seuraavasti. Jokainen heksadesimaaliluvun numero kirjoitetaan nelinumeroiseksi binääriluvuksi - muistikirja. Tämän jälkeen vasemmalla olevat nollat ​​voidaan hylätä.

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

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

Sitä vastoin voit muuntaa minkä tahansa binääriluvun heksadesimaaliluvuksi samalla tavalla. Joka neljäs binäärinumero oikealta vasemmalle laskettuna kirjoitetaan yhdeksi heksadesimaaliluvuksi. Nämä numerot sijaitsevat myös oikealta vasemmalle.

Esimerkkejä.

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

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

Oktaalilukujärjestelmä

Oktaalilukujärjestelmässä on aakkoset, jotka koostuvat 8 numerosta:

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

Luvun muuntaminen desimaalijärjestelmästä oktaaliksi ja taaksepäin tapahtuu samalla tavalla kuin muuntaminen binääriksi/binääristä.

Numeroiden muuntaminen oktaalista binäärilukuiksi ja takaisin

Jokainen oktaaliluvun numero kirjoitetaan kolminumeroiseksi binääriluvuksi - kolmikko.

Esimerkkejä.

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

1001101 2 = 001 001 101 2 = 115 8 .

Laboratoriotunnin nro 1 metodologiset materiaalit

Laboratoriotunnin aihe: Numerojärjestelmät. Mittaustiedot.

Tuntien määrä: 2.

Esimerkkejä ratkaisuineen

    Käännös alks -ary järjestelmä 10-ary järjestelmä. Oletetaan, että meidän on muutettava tietyn numerojärjestelmän luku desimaaliksi. Tätä varten sinun on esitettävä se lomakkeessa

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.

    Muunnos 10-numeroisesta järjestelmästäs -ichnaya.

2.1 98 10 → X 2.

Jaamme luvun 2:lla. Sitten jaamme epätäydellisen osamäärän 2:lla. Jatkamme, kunnes epätäydellinen osamäärä on pienempi kuin 2, ts. yhtä suuri kuin 1.

    98: 2 = 49. Loput - 0 .

    49: 2 = 24. Loput - 1 .

    24: 2 = 12. Loput - 0 .

    12: 2 = 6. Loppuosa - 0 .

    6: 2 = 3. Loppuosa - 0 .

    3: 2 = 1 . 1 .

Koska viimeinen osaosamäärä on 1, prosessi on ohi. Kirjoitamme kaikki jäännökset alhaalta ylös, alkaen viimeisestä epätäydellisestä osamäärästä, ja saamme luvun 1100010. Joten 98 10 = 1100010 2.

2.2 2391 10 → X 16.

Jaa luku 16:lla. Jaa sitten osaosamäärä 16:lla. Jatka, kunnes osaosamäärä on pienempi kuin 16.

    2391: 16 = 149. Loput - 7 .

    149: 16 = 9 . 5 .

Koska viimeinen osaosamäärä (9) on pienempi kuin 16, prosessi on ohi. Kirjoitamme viimeisestä epätäydellisestä osamäärästä alkaen kaikki jäännökset alhaalta ylös ja saamme luvun 957. Joten 2391 10 = 957 16.

2.3 12165 10 → X 2.

Jos muunnat jaolla binäärijärjestelmään, saat melko hankalan prosessin. Voit ensin muuntaa luvun oktaaliksi ja korvata sitten oktaalinumerot oikealta vasemmalle kolmikoodeilla.

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

    Lukujärjestelmän kannan määrittäminens .

Eräs poika kirjoitti itsestään: ”Minulla on 24 sormea, 5 kummassakin kädessä ja 12 jaloissani.” Miten tämä voi olla?

Ratkaisu. On tarpeen määrittää numerojärjestelmän perusta s. Koska tiedämme, että varpaita on vain 10, 10, sitten 12 s =1∙s+2 = 10 10 . Täältä saamme yhtälön s + 2 = 10  s= 8. Joten poika tarkoitti numeroita oktaalijärjestelmässä. Itse asiassa on 24 8 = 2∙8+4 = 20 10 varvasta ja 12 8 = 1∙8+2 = 10 10 varvasta.

Heksadesimaalilukujärjestelmä(tunnetaan myös nimellä heksadesimaalikoodi) on paikkalukujärjestelmä, jonka kokonaislukukanta on 16. Myös termiä hex (lausutaan hex, lyhenne englanninkielisestä heksadesimaalista) käytetään joskus kirjallisuudessa. Tämän numerojärjestelmän numeroita käytetään yleensä arabialaisissa numeroissa 0-9 sekä latinalaisten aakkosten A-F ensimmäisinä merkkejä. Kirjaimet vastaavat seuraavia desimaaliarvoja:

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

Siten kymmenen arabialaista numeroa yhdistettynä kuuden latinalaisen kirjaimen kanssa muodostavat järjestelmän kuusitoista numeroa.

Muuten, verkkosivustollamme voit muuntaa minkä tahansa tekstin desimaali-, heksadesimaali- tai binäärikoodiksi käyttämällä online-koodilaskinta.

Sovellus. Hex-koodi käytetään laajalti matalan tason ohjelmoinnissa sekä erilaisissa tietokoneiden viiteasiakirjoissa. Järjestelmän suosio perustellaan nykyaikaisten tietokoneiden arkkitehtonisilla ratkaisuilla: niissä on tavu (joka koostuu kahdeksasta bitistä) tiedon vähimmäisyksikkönä - ja tavun arvo kirjoitetaan kätevästi kahdella heksadesimaalinumerolla. Tavuarvo voi vaihdella välillä #00 - #FF (0 - 255 desimaalimuodossa) - toisin sanoen käyttämällä heksadesimaalikoodi, voit kirjoittaa minkä tahansa tavun tilan, vaikka tallennuksessa ei käytetä "ylimääräisiä" numeroita.

Koodattu Unicode Merkkinumeron tallentamiseen käytetään neljää heksadesimaalilukua. Myös RGB-värimerkintä (punainen, vihreä, sininen) käyttää usein heksadesimaalikoodia (esimerkiksi #FF0000 on kirkkaan punainen värimerkintä).

Menetelmä heksadesimaalikoodin kirjoittamiseen.

Matemaattinen tapa kirjoittaa. Matemaattisessa merkinnässä järjestelmän kanta kirjoitetaan desimaalimuodossa alaindeksinä luvun oikealle puolelle. Numeron 3032 desimaaliluku voidaan kirjoittaa muodossa 3032 10, heksadesimaalijärjestelmässä tämän luvun merkintä on BD8 16.

Ohjelmointikielten syntaksissa. Eri ohjelmointikielten syntaksi määrittää eri tavalla muodon numeron kirjoittamiselle heksadesimaalikoodi:

* Joidenkin kokoonpanokielen muotojen syntaksissa käytetään latinalaista kirjainta "h", joka sijoitetaan numeron oikealle puolelle, esimerkiksi: 20Dh. Jos numero alkaa latinalaisella kirjaimella, sen eteen laitetaan nolla, esimerkiksi: 0A0Bh. Tämä tehdään vakioita käyttävien arvojen erottamiseksi vakioista. heksadesimaalikoodi;

* Muut kokoonpanotyypit, samoin kuin Pascal (ja sen muunnelmat, kuten Delphi) ja jotkin perusmurteet, käyttävät "$"-etuliitettä: $A15;

* HTML-kuvauskielessä sekä CSS-tiedostoissa etuliitettä “#” käytetään värin määrittämiseen RGB-muodossa heksadesimaalimerkinnällä: #00DC00.

Kuinka muuntaa heksadesimaalikoodi toiseen järjestelmään?

Muunna heksadesimaalista desimaaliksi. Suorittaaksesi muunnosoperaation heksadesimaalijärjestelmästä desimaalijärjestelmään, sinun on esitettävä alkuperäinen luku heksadesimaaliluvun numeroissa olevien numeroiden ja kantaluvun tulojen summana.

Binäärinen SS

heksadesimaali SS

Esimerkiksi sinun on käännettävä heksadesimaaliluku A14: siinä on kolme numeroa. Sääntöä käyttämällä kirjoitamme sen potenssien summana, jonka kanta on 16:

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

Numeroiden muuntaminen binääriluvuista heksadesimaalilukuiksi ja päinvastoin.

Kääntämiseen käytetään muistikirjapöytää. Jos haluat muuntaa luvun binäärijärjestelmästä desimaalijärjestelmäksi, sinun on jaettava se erillisiin tetradeihin oikealta vasemmalle ja korvattava sitten jokainen tetradi vastaavalla heksadesimaaliluvulla taulukon avulla. Lisäksi, jos numeroiden lukumäärä ei ole neljän kerrannainen, on tarpeen lisätä vastaava määrä nollia luvun oikealle puolelle, jotta binäärinumeroiden kokonaismäärästä tulee neljän kerrannainen.

Käännettävien muistikirjojen taulukko.

Muuntaaksesi heksadesimaalista binääriin, sinun on suoritettava käänteinen toiminto: korvaa jokainen numero taulukon tetradilla.

Binäärinen SS

Octal SS

Esimerkki muuntaminen heksadesimaalista binäärimuotoon: A5E 16 = 1010 0101 1110 = 101001011110 2

Esimerkki muuntaminen binääristä heksadesimaaliksi: 111100111 2 = 0001 1110 0111 = 1E7 16

Tässä esimerkissä alkuperäisen binääriluvun numeroiden määrä ei ollut neljä (9), joten etunollia lisättiin yhteensä 12 numeroa varten.

Automaattinen käännös. Nopea muunnos heksadesimaalilukujärjestelmästä johonkin kolmesta suositusta järjestelmästä (binääri-, oktaali- ja desimaalijärjestelmä) sekä käänteinen muunnos voidaan suorittaa käyttämällä Windows-käyttöjärjestelmän mukana tulevaa vakiolaskinta. Avaa laskin ja valitse valikosta Näytä -> Ohjelmoija. Tässä tilassa voit asettaa käytössä olevan numerojärjestelmän (katso valikko vasemmalla: Hex, Dec, Oct, Bin). Tässä tapauksessa nykyisen numerojärjestelmän muuttaminen tuottaa automaattisesti käännöksen.