21.10.2019

Käännös erilaisiin numerojärjestelmiin verkossa. Nopea luvun muuntaminen desimaalista binäärilukuksi


Katsotaanpa yhtä niistä tärkeimmät aiheet informatiikassa -. SISÄÄN koulun opetussuunnitelma se paljastaa itsensä melko "vaatimaisesti", todennäköisimmin sille varatun tunnin puutteen vuoksi. Tietoa tästä aiheesta, erityisesti numerojärjestelmien kääntäminen, ovat menestymisen edellytys kokeen läpäiseminen ja pääsy asianomaisten tiedekuntien yliopistoihin. Alla käsitteitä, kuten paikka- ja ei-paikkalukujärjestelmät, on annettu esimerkkejä näistä lukujärjestelmistä, säännöt kokonaislukujen desimaalilukujen, säännöllisten desimaalilukujen ja sekoitettujen desimaalilukujen muuntamisesta mihin tahansa muuhun lukujärjestelmään, lukujen muuntamiseen mistä tahansa lukujärjestelmästä desimaalilukujärjestelmään, muuntamiseen oktaali- ja heksadesimaalilukujärjestelmistä binäärilukujärjestelmään. esitetty. kokeissa sisään suurissa määrissä tästä aiheesta on tehtäviä. Kyky ratkaista ne on yksi hakijoiden vaatimuksista. Tulossa: Jokaiselle osion aiheelle yksityiskohtaisen teoreettisen materiaalin lisäksi lähes kaikki mahdollisia vaihtoehtoja tehtäviä varten Itsenäinen opiskelu. Lisäksi sinulla on mahdollisuus ladata näihin tehtäviin valmiita yksityiskohtaisia ​​ratkaisuja tiedostojen hosting-palvelusta täysin ilmaiseksi, havainnollistaen eri tavoilla oikean vastauksen saaminen.

paikkanumerojärjestelmät.

Ei-sijaintinumerojärjestelmät- numerojärjestelmät, joissa numeron määrällinen arvo ei riipu sen sijainnista numerossa.

Ei-sijaintinumerojärjestelmiä ovat esimerkiksi roomalaiset, joissa numeroiden sijaan on latinalaisia ​​kirjaimia.

minä 1 (yksi)
V 5 (viisi)
X 10 (kymmenen)
L 50 (viisikymmentä)
C 100 (sata)
D 500 (viisisataa)
M 1000 (tuhatta)

Tässä kirjain V tarkoittaa 5:tä sen sijainnista riippumatta. On kuitenkin syytä mainita, että vaikka roomalainen numerojärjestelmä on klassinen esimerkki ei-positioisesta numerojärjestelmästä, se ei ole täysin ei-positiaalinen, koska. pienempi luku ennen kuin suurempi vähennetään siitä:

IL 49 (50-1=49)
VI 6 (5+1=6)
XXI 21 (10+10+1=21)
MI 1001 (1000+1=1001)

paikkanumerojärjestelmät.

Paikkanumerojärjestelmät- numerojärjestelmät, joissa numeron määrällinen arvo riippuu sen sijainnista numerossa.

Esimerkiksi, jos puhumme desimaalilukujärjestelmästä, niin numerossa 700 numero 7 tarkoittaa "seitsemänsataa", mutta sama luku numerossa 71 tarkoittaa "seitsemää kymmentä" ja numerossa 7020 - "seitsemän tuhatta" .

Jokainen paikkanumerojärjestelmä on oma pohja. Kanta on luonnollinen luku, joka on suurempi tai yhtä suuri kuin kaksi. Se on sama kuin tässä numerojärjestelmässä käytettyjen numeroiden lukumäärä.

    Esimerkiksi:
  • Binääri- paikkanumerojärjestelmä, jossa on kanta 2.
  • Kvaternaari- paikkanumerojärjestelmä, jossa on kanta 4.
  • viisinkertainen- paikkanumerojärjestelmä, jossa on kanta 5.
  • oktaali- paikkanumerojärjestelmä, jossa on kanta 8.
  • Heksadesimaali- paikkanumerojärjestelmä, jonka kanta on 16.

"Numerojärjestelmät" -aiheen ongelmien ratkaisemiseksi onnistuneesti opiskelijan on tiedettävä ulkoa binääri-, desimaali-, oktaali- ja heksadesimaalilukujen vastaavuus 16 10 asti:

10 s/s 2 s/s 8 s/s 16 s/s
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
16 10000 20 10

On hyödyllistä tietää, kuinka numerot saadaan näissä numerojärjestelmissä. Voit arvata, että oktaali-, heksadesimaali-, kolmiosainen ja muu paikkanumerojärjestelmät kaikki tapahtuu samalla tavalla kuin meille tutussa desimaalijärjestelmässä:

Numeroon lisätään yksi ja saadaan uusi numero. Jos yksiköiden numero tulee yhtä suuri kuin pohja numerojärjestelmät, lisäämme kymmenien lukumäärää yhdellä ja niin edelleen.

Tämä "yhden siirtyminen" on juuri se, mikä pelottaa useimpia opiskelijoita. Itse asiassa kaikki on melko yksinkertaista. Siirtymä tapahtuu, jos yksiköiden numero tulee yhtä suureksi numerojärjestelmän perusta, lisäämme kymmenien määrää yhdellä. Monet vanhan hyvän desimaalijärjestelmän muistaessaan hämmentyvät välittömästi purkauksessa ja tässä siirtymässä, koska desimaali ja esimerkiksi binäärikymmen ovat eri asioita.

Tästä syystä kekseliäisillä opiskelijoilla on "menetelmänsä" (yllättäen... toimivat) täyttäessään esimerkiksi totuustaulukoita, joiden ensimmäiset sarakkeet (muuttujien arvot) on itse asiassa täytetty binääriluvuilla nousevassa järjestyksessä. .

Tarkastellaanpa esimerkiksi numeroiden saamista sisään oktaalijärjestelmä: Lisäämme 1 ensimmäiseen numeroon (0), saamme 1. Sitten lisäämme 1 numeroon 1, saamme 2 jne. 7 asti. Jos lisäämme yhden 7:ään, saadaan luku, joka on yhtä suuri kuin lukujärjestelmän kanta, ts. 8. Sitten sinun on lisättävä kymmenien lukua yhdellä (saamme oktaalikymmenen - 10). Seuraavaksi ilmeisesti ovat luvut 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101 ...

säännöt muuntamiseen numerojärjestelmästä toiseen.

1 Muunna kokonaislukujen desimaaliluvut mille tahansa muulle lukujärjestelmälle.

Luku on jaettava uusi numerokanta. Jaon ensimmäinen jäännös on uuden luvun ensimmäinen vähiten merkitsevä numero. Jos jaon osamäärä on pienempi tai yhtä suuri kuin uusi kanta, niin se (osamäärä) on jaettava uudelleen uudella kantalla. Jakoa on jatkettava, kunnes osamäärä on pienempi kuin uusi kanta. Tämä on uuden numeron suurin numero (muista, että esimerkiksi heksadesimaalijärjestelmässä kirjaimet seuraavat 9:n jälkeen, eli jos saat 11 loppuosan, sinun on kirjoitettava se B:ksi).

Esimerkki ("jako kulmalla"): Muunnetaan luku 173 10 oktaalilukujärjestelmäksi.


Näin ollen 173 10 \u003d 255 8

2 Oikeiden desimaalilukujen muuntaminen mihin tahansa muuhun lukujärjestelmään.

Luku on kerrottava numerojärjestelmän uudella kantaluvulla. Kokonaislukuosaan siirtynyt numero on uuden luvun murto-osan suurin numero. seuraavan numeron saamiseksi tuloksena olevan tuotteen murto-osa on jälleen kerrottava lukujärjestelmän uudella kantalla, kunnes siirtyminen kokonaislukuosaan tapahtuu. Jatkamme kertolaskua, kunnes murto-osa on yhtä suuri kuin nolla tai kunnes saavutetaan tehtävässä määritetty tarkkuus ("... laske esim. kahden desimaalin tarkkuudella").

Esimerkki: Muunnetaan luku 0,65625 10 oktaalilukujärjestelmäksi.

Laskimen avulla voit muuntaa kokonais- ja murtolukuja lukujärjestelmästä toiseen. Numerojärjestelmän kanta ei voi olla pienempi kuin 2 ja suurempi kuin 36 (10 numeroa ja 26 Latinalaiset kirjaimet tästä huolimatta). Numerot eivät saa ylittää 30 merkkiä. Syöttöä varten murtolukuja käytä symbolia. tai,. Jos haluat muuntaa luvun järjestelmästä toiseen, kirjoita alkuperäinen luku ensimmäiseen kenttään, alkuperäisen numerojärjestelmän kanta toiseen ja kolmanteen kenttään sen numerojärjestelmän kanta, johon haluat muuntaa luvun, napsauta sitten "Hae sisäänpääsy" -painiketta.

alkuperäinen numero tallennettu 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 - numerojärjestelmä.

Haluan tallentaa numeron 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 - numerojärjestelmä.

Hanki sisääntulo

Valmiit käännökset: 1237182

Numerojärjestelmät

Numerojärjestelmät jaetaan kahteen tyyppiin: paikallinen Ja ei asento. Käytämme arabialaista järjestelmää, se on paikannus, ja on myös roomalainen - se ei vain ole paikannus. Paikkajärjestelmissä numeron sijainti numerossa määrittää yksilöllisesti kyseisen luvun arvon. Tämä on helppo ymmärtää katsomalla esimerkkiä jostain numerosta.

Esimerkki 1. Otetaan numero 5921 desimaalilukujärjestelmässä. Numeroimme numeron oikealta vasemmalle alkaen nollasta:

Numero 5921 voidaan kirjoittaa muodossa: 5921 = 5000+900+20+1 = 5 10 3 +9 10 2 +2 10 1 +1 10 0 . Luku 10 on ominaisuus, joka määrittelee numerojärjestelmän. Annetun luvun sijainnin arvot otetaan asteina.

Esimerkki 2. Harkitse todellista desimaaliluku 1234.567. Numeroimme sen alkaen numeron nollapaikasta desimaalipilkusta vasemmalle ja oikealle:

Numero 1234.567 voidaan kirjoittaa seuraavasti: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1 10 3 +2 10 2 +3 10 1 +4 10 0 +5 10 -1 -2 6 +7 10 -3 .

Lukujen muuntaminen numerojärjestelmästä toiseen

Suurin osa yksinkertaisella tavalla luvun siirtäminen numerojärjestelmästä toiseen on luvun muuntaminen ensin desimaalilukujärjestelmään ja sitten saatu tulos vaadittuun lukujärjestelmään.

Lukujen muuntaminen mistä tahansa numerojärjestelmästä desimaalilukujärjestelmään

Jos haluat muuntaa luvun mistä tahansa numerojärjestelmästä desimaaliksi, riittää, että numeroidaan sen numerot alkaen nollasta (desimaalipilkun vasemmalla puolella oleva numero) samalla tavalla kuin esimerkissä 1 tai 2. Etsitään numeroiden tulojen summa numerosta numerojärjestelmän pohjalta tämän numeron paikan potenssiin:

1. Muunna luku 1001101.1101 2 desimaalilukujärjestelmäksi.
Ratkaisu: 10011.1101 2 = 1 2 4 +0 2 3 +0 2 2 +1 2 1 +1 2 0 +1 2 -1 +1 2 -2 +0 2 -3 +1 2 - 4 = 16+2+1+0,5 +0,25+0,0625 = 19,8125 10
Vastaus: 10011.1101 2 = 19.8125 10

2. Muunna luku E8F.2D 16 desimaalilukujärjestelmäksi.
Ratkaisu: E8F.2D 16 = 14 16 2 +8 16 1 +15 16 0 +2 16 -1 +13 16 -2 = 3584 + 128 + 15 + 0,125 + 0,05078125 = 3727,17578125 10
Vastaus: E8F.2D 16 = 3727.17578125 10

Lukujen muuntaminen desimaalilukujärjestelmästä toiseen lukujärjestelmään

Jotta luvut muunnetaan desimaalilukujärjestelmästä toiseen lukujärjestelmään, luvun kokonaisluku- ja murto-osat on käännettävä erikseen.

Luvun kokonaislukuosan muuntaminen desimaalilukujärjestelmästä toiseen lukujärjestelmään

Kokonaislukuosa käännetään desimaalilukujärjestelmästä toiseen lukujärjestelmään jakamalla luvun kokonaislukuosa peräkkäin lukujärjestelmän kantaluvulla, kunnes saadaan kokonaislukujäännös, joka on pienempi kuin lukujärjestelmän kanta. Siirron tulos on ennätys jäännöksistä, alkaen viimeisestä.

3. Muunna luku 273 10 oktaalilukujärjestelmäksi.
Ratkaisu: 273 / 8 = 34 ja jäännös 1, 34 / 8 = 4 ja jäännös 2, 4 on pienempi kuin 8, joten laskenta on valmis. Ennätys jäänteistä näyttää tältä: 421
Tutkimus: 4 8 2 +2 8 1 +1 8 0 = 256+16+1 = 273 = 273 , tulos on sama. Käännös on siis oikea.
Vastaus: 273 10 = 421 8

Tarkastellaan oikeiden desimaalilukujen muuntamista erilaisiin lukujärjestelmiin.

Luvun murto-osan muuntaminen desimaalilukujärjestelmästä toiseen lukujärjestelmään

Muista oikea desimaali nimeltään reaaliluku, jonka kokonaislukuosa on nolla. Muuntaaksesi tällaisen luvun lukujärjestelmäksi, jonka kanta on N, sinun on kerrottava luku jatkuvasti N:llä, kunnes murto-osa on nollattu tai tarvittava määrä numeroita saadaan. Jos kertolaskussa saadaan luku, jonka kokonaislukuosa on muu kuin nolla, niin kokonaislukuosaa ei oteta huomioon enempää, koska se syötetään peräkkäin tulokseen.

4. Muunna luku 0,125 10 binäärilukujärjestelmäksi.
Ratkaisu: 0,125 2 = 0,25 (0 on kokonaislukuosa, josta tulee tuloksen ensimmäinen numero), 0,25 2 = 0,5 (0 on tuloksen toinen numero), 0,5 2 = 1,0 (1 on tuloksen kolmas numero , ja koska murto-osa on nolla, käännös on valmis).
Vastaus: 0.125 10 = 0.001 2

Menetelmät lukujen muuttamiseksi numerojärjestelmästä toiseen.

Lukujen käännös paikkalukujärjestelmästä toiseen: kokonaislukujen käännös.

Jos haluat muuntaa kokonaisluvun yhdestä lukujärjestelmästä, jonka kanta on d1, toiseen, jonka kanta on d2, sinun on jaettava tämä luku ja tuloksena saadut osamäärät peräkkäin uuden järjestelmän d2-kantaluvulla, kunnes osamäärä on pienempi kuin d2-kanta. Viimeinen osamäärä on luvun suurin luku uusi järjestelmä laskeminen kannassa d2, ja sitä seuraavat luvut ovat jaon jäännöksiä, jotka on kirjoitettu käänteisessä järjestyksessä niiden vastaanottamisesta. Suorita aritmeettisia operaatioita numerojärjestelmässä, jossa käännetty luku kirjoitetaan.

Esimerkki 1. Muunna luku 11(10) binäärilukujärjestelmäksi.

Vastaus: 11(10)=1011(2).

Esimerkki 2. Muunna luku 122(10) oktaalilukujärjestelmäksi.


Vastaus: 122(10)=172(8).

Esimerkki 3. Muunna luku 500(10) heksadesimaalilukujärjestelmäksi.


Vastaus: 500(10)=1F4(16).

Lukujen kääntäminen paikkalukujärjestelmästä toiseen: oikeiden murtolukujen käännös.

Oikean murtoluvun muuntamiseksi lukujärjestelmästä, jonka kantaluku on d1, järjestelmään, jossa on kantaluku d2, on välttämätöntä kertoa johdonmukaisesti alkuperäinen murto-osa ja tuloksena olevien tulojen murto-osat uuden lukujärjestelmän d2 kantaluvulla. Luvun oikea murto-osa uudessa lukujärjestelmässä, jonka kanta on d2, muodostuu tuloksena olevien tulojen kokonaislukuosiksi ensimmäisestä alkaen.
Jos käännös johtaa murto-osaan äärettömän tai divergentin sarjan muodossa, prosessi voidaan suorittaa loppuun, kun vaadittu tarkkuus on saavutettu.

Sekalukuja käännettäessä on välttämätöntä kääntää kokonaisluku- ja murto-osat erikseen uuteen järjestelmään kokonaislukujen ja oikeiden murtolukujen käännössääntöjen mukaisesti ja sitten yhdistää molemmat tulokset yhdeksi sekaluvuksi uudessa lukujärjestelmässä.

Esimerkki 1. Muunna luku 0,625(10) binäärilukujärjestelmäksi.


Vastaus: 0,625(10)=0,101(2).

Esimerkki 2. Muunna luku 0,6 (10) oktaalilukujärjestelmäksi.


Vastaus: 0,6(10)=0,463(8).

Esimerkki 2. Muunna luku 0,7(10) heksadesimaaliksi.


Vastaus: 0.7(10)=0.B333(16).

Muunna binääri-, oktaali- ja heksadesimaaliluvut desimaalilukuiksi.

Jos haluat muuntaa P-ary-järjestelmän luvun desimaalilukuiksi, sinun on käytettävä seuraavaa laajennuskaavaa:
anan-1…a1a0=anPn+ an-1Pn-1+…+ a1P+a0 .

Esimerkki 1. Muunna luku 101.11(2) desimaalilukujärjestelmäksi.

Vastaus: 101.11(2)= 5.75(10) .

Esimerkki 2. Muunna luku 57.24(8) desimaalilukujärjestelmäksi.

Vastaus: 57.24(8) = 47.3125(10) .

Esimerkki 3. Muunna luku 7A,84(16) desimaalilukujärjestelmäksi.

Vastaus: 7A,84(16)= 122.515625(10) .


Oktaali- ja heksadesimaalilukujen muuntaminen binäärilukuiksi ja päinvastoin.

Jos haluat muuntaa luvun oktaalista binääriksi, tämän luvun jokainen numero on kirjoitettava kolminumeroiseksi binääriluvuksi (kolmio).

Esimerkki: Kirjoita muistiin luku 16.24(8) binäärimuodossa.


Vastaus: 16.24(8)= 1110.0101(2) .

Jos haluat muuntaa binääriluvun takaisin oktaalilukujärjestelmään, sinun on jaettava alkuperäinen luku kolmikkoihin desimaalipilkun vasemmalla ja oikealla puolella ja esitettävä jokainen ryhmä numerona oktaalilukujärjestelmässä. Äärimmäiset epätäydelliset triadit täydennetään nolilla.

Esimerkki: Kirjoita numero 1110.0101(2) oktaalista.


Vastaus: 1110.0101(2)= 16.24(8) .

Jos haluat muuntaa luvun heksadesimaalista binäärilukuksi, tämän luvun jokainen numero on kirjoitettava nelinumeroiseksi binääriluvuksi (tetrad).

Esimerkki: kirjoita muistiin luku 7A,7E(16) binäärilukujärjestelmässä.


Vastaus: 7A,7E(16)= 1111010,0111111(2) .

Huomautus: Merkittämättömiä nollia vasemmalla kokonaislukujen ja oikealla murtolukujen kohdalla ei tallenneta.

Jos haluat muuntaa binääriluvun takaisin heksadesimaalilukujärjestelmäksi, sinun on jaettava alkuperäinen luku tetradeihin desimaalipilkun vasemmalla ja oikealla puolella ja esitettävä jokainen ryhmä numerona heksadesimaalilukujärjestelmässä. Äärimmäiset epätäydelliset triadit täydennetään nolilla.

Esimerkki: kirjoita numero 1111010.0111111(2) heksadesimaalimuodossa.

Jotta voit nopeasti muuntaa luvut desimaaliluvuista binäärilukuihin, sinun on tunnettava numerot "2 potenssiin" hyvin. Esimerkiksi 2 10 \u003d 1024 jne. Tämän avulla voit ratkaista joitain käännösesimerkkejä muutamassa sekunnissa. Yksi näistä tehtävistä on tehtävä A1 USE-demosta 2012. Voit tietysti jakaa luvun pitkään ja ikävästi kahdella. Mutta on parempi päättää toisin, mikä säästää arvokasta aikaa kokeessa.

Menetelmä on hyvin yksinkertainen. Sen olemus on tämä: jos desimaalijärjestelmästä muunnettava luku on yhtä suuri kuin luku "2 potenssiksi", niin tämä luku binäärijärjestelmässä sisältää potenssia vastaavan määrän nollia. Lisäämme "1" näiden nollien eteen.

  • Käännetään numero 2 desimaalijärjestelmästä. 2 = 2 1 . Siksi binäärijärjestelmässä luku sisältää 1 nollan. Laitamme "1" eteen ja saamme 10 2 .
  • Käännetään 4 desimaalijärjestelmästä. 4 = 2 2 . Siksi binäärijärjestelmässä luku sisältää 2 nollaa. Laitamme "1" eteen ja saamme 100 2.
  • Käännetään 8 desimaalijärjestelmästä. 8 = 2 3 . Siksi binäärijärjestelmässä luku sisältää 3 nollaa. Laitamme "1" eteen ja saamme 1000 2.


Samoin muille numeroille "2 tehoon".

Jos numero on käännettävä pienempi kuin numero"2 potenssiin" yhdellä, niin binäärijärjestelmässä tämä luku koostuu vain yksiköistä, joiden lukumäärä on yhtä suuri kuin aste.

  • Käännetään 3 desimaalijärjestelmästä. 3 = 2 2 -1. Siksi binäärijärjestelmässä luku sisältää 2 ykköstä. Saamme 112.
  • Käännetään 7 desimaalijärjestelmästä. 7 = 2 3 -1. Siksi binäärijärjestelmässä luku sisältää 3 ykköstä. Saamme 111 2.

Kuvassa neliöt osoittavat luvun binääriesitystä ja vasemmalla desimaaliesitys on vaaleanpunainen.


Käännös on samanlainen muille numeroille "2 potenssilla -1".

On selvää, että lukujen käännös 0:sta 8:aan voidaan tehdä nopeasti tai jakamalla, tai yksinkertaisesti tietää ulkoa niiden esitys binäärijärjestelmässä. Annoin nämä esimerkit, jotta ymmärrät periaatteen tätä menetelmää ja käytti sitä kääntämään "vaikuttavampia lukuja", esimerkiksi kääntämään numerot 127,128, 255, 256, 511, 512 jne.

Voit suorittaa tällaisia ​​tehtäviä, kun sinun on käännettävä numero, ei yhtä suuri kuin luku"2 valtaan", mutta lähellä sitä. Se voi olla suurempi tai pienempi kuin luku "2 tehoon". Käännetyn luvun ja luvun "2 potenssiin" välisen eron tulisi olla pieni. Esimerkiksi 3:een asti. Lukujen 0-3 esitys binäärijärjestelmässä pitäisi yksinkertaisesti tietää ilman käännöstä.

Jos luku on suurempi kuin , ratkaisemme sen seuraavasti:

Ensin käännämme luvun "2 tehoon" binäärijärjestelmäksi. Ja sitten lisäämme siihen eron luvun "2 tehoon" ja käännetyn luvun välillä.

Esimerkiksi käännetään 19 desimaalijärjestelmästä. Se on suurempi kuin luku "2 tehoon" kolmella.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

19 10 =10000 2 +11 2 =10011 2 .

Jos luku on pienempi kuin luku "2 potenssiin", on kätevämpää käyttää numeroa "2 potenssiin -1". Päätämme näin:

Ensin käännämme luvun "2 potenssiin -1" binäärijärjestelmään. Ja sitten vähennä siitä ero luvun "2 potenssiin -1" ja käännetyn luvun välillä.

Esimerkiksi käännetään 29 desimaalijärjestelmästä. Se on suurempi kuin luku "2 1:n potenssilla" kahdella. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

Jos käännetyn luvun ja luvun "2 potenssiin" välinen ero on enemmän kuin kolme, voit jakaa luvun komponenteiksi, muuntaa jokaisen osan binäärijärjestelmäksi ja lisätä.

Käännä esimerkiksi luku 528 desimaalijärjestelmästä. 528=512+16. Käännämme erikseen 512 ja 16.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Pinotaan nyt yhteen:

Hei sivuston vierailija! Jatkamme IP-verkkokerroksen protokollan ja tarkemmin sanottuna sen IPv4-version tutkimista. Ensi silmäyksellä aihe binääriluvut ja binäärilukujärjestelmä sillä ei ole mitään tekemistä IP-protokollan kanssa, mutta jos muistat, että tietokoneet toimivat nollien ja ykkösten kanssa, käy ilmi, että binäärijärjestelmä ja sen ymmärtäminen on perusasioiden perusta, tarvitsemme Opi muuttamaan lukuja binääriluvuista desimaalilukuiksi ja päinvastoin: desimaalista binääriin. Tämä auttaa meitä ymmärtämään paremmin IP-protokollaa sekä muuttuvan pituisten verkkopeitteiden toimintaa. Aloitetaan!

Jos olet kiinnostunut tietokoneverkkojen aiheesta, voit lukea muita kurssin kirjoituksia.

4.4.1 Johdanto

Ennen kuin aloitamme, on syytä selittää, miksi verkkoinsinööri tarvitsee tätä aihetta. Vaikka voit olla vakuuttunut sen välttämättömyydestä, kun puhuimme, mutta voit sanoa, että on olemassa IP-laskimia, jotka helpottavat suuresti IP-osoitteiden jakamista, tarvittavien aliverkko-/verkkomaskien laskemista ja verkkonumeron ja isäntänumeron määrittämistä IP-osoitteessa. . Niin se on, mutta IP-laskin ei ole aina käsillä, tämä on syy numero yksi. Syy numero kaksi on se, että Cisco-kokeet eivät anna sinulle IP-laskinta, ja siinä se. IP-osoitteiden muuntaminen desimaalista binäärimuotoon sinun on tehtävä paperille, ja ei ole niin vähän kysymyksiä, joissa tätä vaaditaan kokeessa / tentteissä CCNA-sertifikaatin saamiseksi, on sääli, jos tentti on ylikuormitettu tällaisen pikkujutun takia. Ja lopuksi, binäärilukujärjestelmän ymmärtäminen johtaa toimintaperiaatteen parempaan ymmärtämiseen.

Yleensä verkkosuunnittelijan ei edellytetä pystyvän kääntämään numeroita binääristä desimaaliin ja päinvastoin mielessään. Lisäksi harvoin kenenkään on mahdollista tehdä tämä mielessään, pääasiassa tietokoneverkkojen eri kurssien opettajat kuuluvat tähän luokkaan, koska he kohtaavat tämän jatkuvasti päivittäin. Mutta paperilla ja kynällä sinun pitäisi oppia kääntämään.

4.4.2 Desimaaliluvut ja numerot, numerot numeroissa

Aloitetaan yksinkertaisesta ja puhutaan binäärinumeroista ja numeroista, tiedät, että numerot ja numerot ovat kaksi eri asiaa. Numero on erityinen merkintäsymboli, ja numero on abstrakti merkintä, joka tarkoittaa määrää. Esimerkiksi kirjoittaaksesi, että meillä on viisi sormea ​​kädessämme, voimme käyttää roomalaisia ​​ja arabialaisia ​​numeroita: V ja 5. Tässä tapauksessa viisi on sekä numero että luku. Ja esimerkiksi luvun 20 kirjoittamiseen käytämme kahta numeroa: 2 ja 0.

Yhteensä desimaalilukujärjestelmässä meillä on kymmenen numeroa tai kymmenen merkkiä (0,1,2,3,4,5,6,7,8,9), joita yhdistämällä voimme kirjoittaa erilaisia ​​numeroita. Mitä periaatetta noudatamme käytettäessä desimaalilukujärjestelmää? Kyllä, kaikki on hyvin yksinkertaista, nostetaan kymmentä asteeseen tai toiseen, esimerkiksi otetaan luku 321. Miten se voidaan kirjoittaa toisin, mutta näin: 3*10 2 +2*10 1 +1*10 0 . Siten käy ilmi, että numero 321 edustaa kolmea numeroa:

  1. Numero 3 tarkoittaa merkittävintä numeroa, tai tässä tapauksessa se on satojen numero, muuten niiden numero.
  2. Numero 2 on kymmenissä, meillä on kaksi kymmeniä.
  3. Numero yksi on vähiten merkitsevä numero.

Toisin sanoen tässä merkinnässä kakkonen ei ole vain kakkonen, vaan kaksi kymmentä tai kaksi kertaa kymmenen. Kolmois ei ole vain kolminkertainen, vaan kolme kertaa sata. Sellainen riippuvuus on: jokaisen seuraavan numeron yksikkö on kymmenen kertaa suurempi kuin edellisen yksikkö, koska 300 on kolme kertaa sata. Poikkeama desimaalilukujärjestelmästä oli tarpeen binääriluvun ymmärtämisen helpottamiseksi.

4.4.3 Binäärinumerot ja -luvut sekä niiden merkintä

Binäärilukujärjestelmässä on vain kaksi numeroa: 0 ja 1. Siksi luvun kirjoittaminen binäärimuodossa on usein paljon suurempi kuin desimaaliluku. Lukuun ottamatta lukuja 0 ja 1, binäärinolla on yhtä kuin nolla desimaaliluvulla, ja sama pätee ykköseen. Joskus käytetään alaindeksejä: 267 10, 10100 12, 4712 8, jotta ei menisi sekaannukseen, missä numerojärjestelmässä numero kirjoitetaan. Alaindeksin numero ilmaisee numerojärjestelmän.

Merkkejä 0b ja & (et-kirjain) voidaan käyttää binäärilukujen kirjoittamiseen: 0b10111, &111. Jos desimaalilukujärjestelmässä luvun 245 lausumiseen käytämme tätä rakennetta: kaksisataa neljäkymmentäviisi, niin binäärilukujärjestelmässä numeron nimeämiseksi meidän on lausuttava luku jokaisesta numerosta, esimerkiksi, binäärilukujärjestelmän lukua 1100 ei tule lausua tuhanneksi satavaksi, vaan yhdeksi, ykköseksi, nollaksi, nollaksi. Katsotaanpa lukuja 0-10 binäärimuodossa:

Minusta logiikka pitäisi olla nyt selvä. Jos desimaalilukujärjestelmässä jokaiselle numerolle oli tarjolla kymmenen vaihtoehtoa (0 - 9 mukaan lukien), niin binäärilukujärjestelmässä binääriluvun jokaisessa numerossa meillä on vain kaksi vaihtoehtoa: 0 tai 1.

IP-osoitteiden ja aliverkon peitteiden käsittelyyn tarvitsemme vain luonnolliset luvut binäärijärjestelmässä, vaikka binäärijärjestelmässä voit kirjoittaa murtolukuja ja negatiivisia lukuja mutta emme tarvitse sitä.

4.4.4 Lukujen muuntaminen desimaaliluvuista binäärilukuiksi

Parannetaan sitä, kuinka muuntaa luku desimaalista binäärilukuksi. Ja täällä kaikki on itse asiassa hyvin, hyvin yksinkertaista, vaikka sitä on vaikea selittää sanoin, joten annan heti esimerkki lukujen muuntamisesta desimaaleista binäärilukuihin. Otetaan luku 61, jotta voimme muuntaa binäärijärjestelmään, meidän on jaettava tämä luku kahdella ja katsottava mitä tapahtuu jaon loppuosassa. Ja jaon tulos jaetaan jälleen kahdella. Tässä tapauksessa 61 on osinko, meillä on aina kaksi jakajana ja jaamme osamäärän (jaon tuloksen) jälleen kahdella, jatka jakamista, kunnes osamäärä on 1, tämä viimeinen yksikkö on vasemmanpuoleisin numero . Alla oleva kuva osoittaa tämän.

Huomaa samalla, että numero 61 ei ole 101111, vaan 111101, eli kirjoitamme tuloksen lopusta. Viimeisessä kahdella jakamisessa ei ole erityistä järkeä, koska tässä tapauksessa käytetään kokonaislukujakoa, ja tällä lähestymistavalla se käy kuten kuvassa 4.4.2.

Se ei ole paras nopea tapa luvun muuntaminen binääristä desimaalilukuksi. Meillä on useita kiihdyttimiä. Esimerkiksi binäärijärjestelmän numero 7 on kirjoitettu 111:ksi, numero 3 11:ksi ja numero 255 11111111. Kaikki nämä tapaukset ovat järjettömän yksinkertaisia. Tosiasia on, että luvut 8, 4 ja 256 ovat kahden potenssit ja luvut 7, 3 ja 255 ovat yksi vähemmän kuin nämä luvut. Joten luvulle, joka on yksi pienempi kuin kahden potenssia vastaava luku, pätee yksinkertainen sääntö: binäärijärjestelmässä tällainen desimaaliluku kirjoitetaan yksiköiden lukumääränä, joka on yhtä suuri kuin kahden potenssi. Joten esimerkiksi luku 256 on kaksi kahdeksanteen potenssiin, joten 255 kirjoitetaan 11111111:ksi ja numero 8 on kaksi kolmanteen potenssiin, ja tämä kertoo meille, että binäärijärjestelmässä 7 kirjoitetaan 111:ksi. No, ymmärrä, kuinka kirjoittaa 256, 4 ja 8 binäärimuodossa, ei myöskään ole vaikeaa, lisää vain yksi: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
Voit tarkistaa minkä tahansa tuloksesi laskimella, ja aluksi on parempi tehdä niin.

Kuten näet, emme ole vielä unohtaneet kuinka jakaa. Ja nyt voimme jatkaa eteenpäin.

4.4.5 Lukujen muuntaminen binääriluvuista desimaalilukuiksi

Lukujen muuntaminen binäärijärjestelmästä on paljon helpompaa kuin desimaalien muuntaminen binääriluvuksi. Esimerkkinä käännöksestä käytämme numeroa 11110. Kiinnitä huomiota alla olevaan kilveen, joka näyttää tehon, johon sinun on nostettava kaksi, jotta lopulta saadaan desimaaliluku.

Saadaksesi desimaalin tästä binääriluvusta, sinun on kerrottava jokainen numerossa oleva luku kahdella potenssiin ja lisätään sitten kertolaskutulokset, se on helpompi näyttää:

1*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 = 16+8+4+2+0=30

Avataan laskin ja varmistetaan, että 30 desimaalissa on 11110 binäärissä.

Näemme, että kaikki on tehty oikein. Esimerkistä sen voi nähdä luvun muuntaminen binääristä desimaaliksi on paljon helpompaa kuin takaisinmuuntaminen. Jotta voit työskennellä luottavaisin mielin, sinun tarvitsee vain muistaa kahden voimat aina 2 8 asti. Selvyyden vuoksi annan taulukon.

Emme tarvitse enempää, koska suurin mahdollinen yhteen tavuun kirjoitettava määrä (8 bittiä tai kahdeksan binaariarvoa) on 255, eli jokaisessa IP-osoitteen tai IPv4-aliverkon peitteen okteissa suurin mahdollinen arvo on 255. On kenttiä, joissa on arvoja suurempia kuin 255, mutta niitä ei tarvitse laskea.

4.4.6 Binäärilukujen yhteen-, vähennys- ja kertolasku sekä muut binäärilukujen operaatiot

Katsotaan nyt operaatioita, jotka voidaan suorittaa binääriluvuilla. Aloitetaan yksinkertaisilla aritmeettisilla operaatioilla ja siirrytään sitten Boolen algebran operaatioihin.

Binäärilisäys

Binäärilukujen lisääminen ei ole niin vaikeaa: 1+0 =1; 1+1=0 (myöhemmin annan selityksen); 0+0=0. Nämä olivat yksinkertaisia ​​esimerkkejä, jossa käytettiin vain yhtä numeroa, katsotaanpa esimerkkejä, joissa numeroita on enemmän kuin yksi.
101 + 1101 desimaaliluvulla on 5 + 13 = 18. Lasketaan sarakkeessa.

Tulos korostettuna oranssi, laskin sanoo, että laskimme oikein, voit tarkistaa. Katsotaan nyt miksi näin tapahtui, koska aluksi kirjoitin, että 1 + 1 = 0, mutta tämä koskee tapausta, jossa meillä on vain yksi numero, tapauksiin, joissa numeroita on enemmän kuin yksi, 1 + 1 = 10 (tai kaksi desimaaleissa), mikä on loogista.

Katso sitten, mitä tapahtuu, lisäämme numeroita oikealta vasemmalle:

1. 1+1=10, kirjoita nolla ja yksi siirtyy seuraavaan bittiin.

2. Seuraavassa numerossa saadaan 0+0+1=1 (tämä yksikkö tuli meille vaiheessa 1 yhteenlasketusta tuloksesta).

4. Tässä meillä on yksikkö vain toiselle numerolle, mutta se on siirretty tänne, joten 0 + 1 + 1 = 10.

5. Liimaa kaikki yhteen: 10|0|1|0.

Jos laiskuus on sarakkeessa, niin lasketaan näin: 101011 + 11011 tai 43 + 27 = 70. Mitä tässä voidaan tehdä, mutta katsotaan, koska kukaan ei kiellä meitä tekemään muunnoksia, eikä summa muutu muuttuessaan termien paikat, binäärilukujärjestelmään tämä sääntö pätee myös.

  1. 101011 = 101000 + 11 = 101000 + 10 + 1 = 100000 + 1000 + 10 + 1.
  2. 11011 = 11000 + 10 + 1 = 10000 + 1000 + 10 + 1.
  3. 100000 + 10000 + (1000 +1000) + (10+10) + (1+1).
  4. 100000 + (10000 + 10000) + 100 + 10.
  5. 100000 + 100000 +110
  6. 1000000 + 110.
  7. 1000110.

Voit tarkistaa laskimella, 1000110 binäärimuodossa on 70 desimaalilukuna.

Binäärilukujen vähentäminen

Välitön esimerkki yksinumeroisten lukujen vähentämisestä binäärilukujärjestelmässä, emme puhuneet negatiivisista luvuista, joten emme ota 0-1 huomioon: 1 - 0 = 1; 0 - 0 = 0; 1 - 1 = 0. Jos numeroita on enemmän kuin yksi, kaikki on myös yksinkertaista, edes sarakkeita ja temppuja ei tarvita: 110111 - 1000, tämä on sama kuin 55 - 8. Tuloksena saadaan 101111. Ja sydän lakkasi lyömästä, mistä tulee kolmannen numeron yksikkö (numerointi vasemmalta oikealle ja alkaa nollasta)? Kyllä, kaikki on yksinkertaista! Numeron 110111 toisessa numerossa on 0 ja ensimmäisessä numerossa 1 (jos oletetaan, että numeroiden numerointi alkaa 0:sta ja kulkee vasemmalta oikealle), mutta saadaan neljännen numeron yksikkö lisäämällä kaksi yksikköä kolmannesta numerosta (saaaan eräänlainen virtuaalinen kaksi) ja tästä kakkosluvusta vähennetään yksi, joka on luvun 1000 nollanumerossa, mutta 2 - 1 \u003d 1, no, 1 on kelvollinen numero binäärilukujärjestelmässä.

Binäärilukujen kertolasku

Meidän on vielä harkittava binäärilukujen kertomista, joka toteutetaan siirtämällä bitti vasemmalle. Mutta ensin tarkastellaan yksinumeroisen kertolaskutuloksia: 1*1 = 1; 1*0=0 0*0=0. Itse asiassa kaikki on yksinkertaista, katsotaan nyt jotain monimutkaisempaa. Otetaan luvut 101001 (41) ja 1100 (12). Kerromme sarakkeella.

Jos taulukosta ei käy selväksi, kuinka se tapahtui, yritän selittää sanoin:

  1. On kätevää kertoa binääriluvut sarakkeessa, joten kirjoitamme toisen tekijän ensimmäisen alle, jos numeroissa on eri määrä numeroita, niin on kätevämpää, jos lisää tulee olemaan päällä.
  2. Seuraava vaihe on kertoa ensimmäisen luvun kaikki numerot toisen luvun vähiten merkitsevällä numerolla. Kirjoitamme kertolaskutuloksen alla; tässä tapauksessa on tarpeen kirjoittaa se ylös niin, että kertolaskutulos kirjoitetaan jokaisen vastaavan numeron alle.
  3. Nyt meidän on kerrottava kaikki ensimmäisen luvun numerot toisen numeron seuraavalla numerolla ja kirjoitettava tulos vielä yksi rivi alle, mutta tämä tulos on siirrettävä yhden numeron vasemmalle, jos katsot taulukkoa, tämä on toinen nollien sarja ylhäältä.
  4. Sinun on tehtävä sama seuraaville numeroille siirtämällä joka kerta yksi numero vasemmalle, ja jos katsot taulukkoa, voit sanoa, että yksi solu vasemmalle.
  5. Saimme neljä binääriluvut, joka sinun täytyy nyt lisätä ja saada tulos. Äskettäin harkitsemamme lisäksi ongelmia ei pitäisi syntyä.

Yleensä kertolasku ei ole niin vaikeaa, sinun tarvitsee vain harjoitella vähän.

Boolen algebran operaatiot

Boolen algebrassa on kaksi erittäin tärkeää käsitettä: tosi (tosi) ja epätosi (epätosi), joiden ekvivalentit ovat nolla ja yksi binäärilukujärjestelmässä. Boolen algebran operaattorit laajentavat näiden arvojen käytettävissä olevien operaattoreiden määrää, katsotaanpa niitä.

Operaatio "Looginen AND" tai AND

Operaatio "Looginen AND" tai AND vastaa yksibittisten binäärilukujen kertomista.

1 JA 1 = 1; 1 JA 0 = 1; 0 JA 0 = 0; 0 JA 1 = 0.

1 JA 1 = 1;

1 JA 0 = 1;

0 JA 0 = 0;

0 JA 1 = 0.

"Loogisen JA" tulos on yksi vain, jos molemmat arvot ovat yhtä suuria kuin yksi, kaikissa muissa tapauksissa se on nolla.

Toiminto "Looginen TAI" tai TAI

Operaatio "Looginen TAI" tai TAI toimii seuraavan periaatteen mukaisesti: jos vähintään yksi arvo on yhtä suuri kuin yksi, niin tulos on yksi.

1 TAI 1 = 1; 1 TAI 0 = 1; 0 TAI 1 = 1; 0 TAI 0 = 0.

1 TAI 1 = 1;

1 TAI 0 = 1;

0 TAI 1 = 1;

0 TAI 0 = 0.

XOR-toiminta

XOR-operaatio tai XOR antaa meille tuloksen ykkösestä vain, jos yksi operandeista on yhtä suuri kuin yksi ja toinen on yhtä suuri kuin nolla. Jos molemmat operandit ovat nollia, se on nolla ja vaikka molemmat operandit ovat yhtä suuria kuin yksi, tulos on nolla.