21.10.2019

Prijevod u razne brojevne sustave online. Brza konverzija broja iz decimalnog u binarni


Pogledajmo jedan od glavne teme u informatici - . U školski plan i program otkriva se prilično "skromno", najvjerojatnije zbog manjka sati za to. Znanje o ovoj temi, posebno o prijevod brojevnih sustava, preduvjet su za uspješan položivši ispit i upis na sveučilišta na odgovarajućim fakultetima. U nastavku, pojmovi kao što su položajni i nepozicijski brojevni sustavi, navedeni su primjeri ovih brojevnih sustava, pravila za pretvaranje cijelih decimalnih brojeva, pravilnih decimalnih razlomaka i mješovitih decimalnih brojeva u bilo koji drugi brojevni sustav, pretvaranje brojeva iz bilo kojeg brojevnog sustava u decimalni, pretvaranje iz oktalnog i heksadecimalnog brojevnog sustava u binarni brojevni sustav su predstavili. Na ispitima u u velikom broju ima zadataka na ovu temu. Sposobnost njihovog rješavanja jedan je od zahtjeva za kandidate. Uskoro: Za svaku temu odjeljka, uz detaljan teorijski materijal, gotovo sve moguće opcije zadaci Za samostalno istraživanje. Osim toga, imat ćete priliku potpuno besplatno preuzeti gotova detaljna rješenja za te zadatke s usluge hostinga datoteka, koja ilustriraju razne načine dobivanje točnog odgovora.

položajni brojevni sustavi.

Nepozicijski brojevni sustavi- brojevni sustavi u kojima kvantitativna vrijednost znamenke ne ovisi o njezinu mjestu u broju.

Nepozicijski sustavi brojeva uključuju, na primjer, rimski, gdje umjesto brojeva postoje latinična slova.

ja 1 (jedan)
V 5 (pet)
x 10 (deset)
L 50 (pedeset)
C 100 (sto)
D 500 (pet stotina)
M 1000 (tisuću)

Ovdje slovo V označava 5, bez obzira na mjesto. Međutim, vrijedi spomenuti da iako je rimski brojčani sustav klasičan primjer nepozicijskog numeričkog sustava, on nije potpuno nepozicijski, jer. manji broj prije nego što se od njega oduzme veći:

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

položajni brojevni sustavi.

Pozicijski brojevni sustavi- brojevni sustavi u kojima kvantitativna vrijednost znamenke ovisi o njezinu mjestu u broju.

Na primjer, ako govorimo o decimalnom sustavu brojeva, tada u broju 700 broj 7 znači "sedam stotina", ali ista brojka u broju 71 znači "sedam desetica", au broju 7020 - "sedam tisuća" .

Svaki položajni brojevni sustav ima svoje baza. Baza je prirodan broj veći ili jednak dva. Jednak je broju znamenki koje se koriste u ovom brojevnom sustavu.

    Na primjer:
  • Binarni- položajni brojevni sustav s bazom 2.
  • Kvartar- položajni brojevni sustav s bazom 4.
  • pet puta- položajni brojevni sustav s bazom 5.
  • oktalni- položajni brojevni sustav s bazom 8.
  • Heksadecimalni- položajni brojevni sustav s bazom 16.

Za uspješno rješavanje zadataka na temu "Sustavi brojeva" učenik mora znati napamet korespondenciju binarnih, decimalnih, oktalnih i heksadecimalnih brojeva do 16 10:

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

Korisno je znati kako se u tim brojevnim sustavima dobivaju brojevi. To možete pogoditi u oktalnom, heksadecimalnom, ternarnom i drugom položajni brojevni sustavi sve se događa slično nama poznatom decimalnom sustavu:

Broju se dodaje jedan i dobiva se novi broj. Ako znamenka jedinica postaje jednaka bazi brojevnim sustavima, povećavamo broj desetica za 1 i tako dalje.

Upravo je ta "tranzicija jednog" ono što plaši većinu studenata. Zapravo, sve je vrlo jednostavno. Do prijelaza dolazi ako znamenka jedinica postane jednaka baza brojevnog sustava, povećavamo broj desetica za 1. Mnogi, prisjećajući se dobrog starog decimalnog sustava, odmah se zbune u pražnjenju iu ovom prijelazu, jer su decimalne i, na primjer, binarne desetice različite stvari.

Dakle, snalažljivi studenti imaju "svoje metode" (začudo ... rade) kada ispunjavaju, na primjer, tablice istinitosti, čiji su prvi stupci (vrijednosti varijabli) zapravo popunjeni binarnim brojevima u rastućem redoslijedu. .

Na primjer, pogledajmo unos brojeva oktalni sustav: Prvom broju (0) dodamo 1, dobijemo 1. Zatim 1 dodamo 1, dobijemo 2 itd. do 7. Ako broju 7 dodamo jedan, dobit ćemo broj jednak osnovi brojevnog sustava, t.j. 8. Zatim trebate povećati znamenku desetica za jedan (dobivamo oktalnu deseticu - 10). Slijede, očito, brojevi 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101 ...

pravila za pretvaranje iz jednog brojevnog sustava u drugi.

1 Pretvorite cijele decimalne brojeve u bilo koji drugi brojevni sustav.

Broj se mora podijeliti sa nova baza brojeva. Prvi ostatak dijeljenja je prva najmanje značajna znamenka novog broja. Ako je kvocijent dijeljenja manji ili jednak novoj bazi, tada se on (kvocijent) mora ponovno podijeliti s novom bazom. Dijeljenje se mora nastaviti sve dok ne dobijemo kvocijent manji od nove baze. To je najviša znamenka novog broja (treba zapamtiti da npr. u heksadecimalnom sustavu slova slijede nakon 9, odnosno ako ste dobili 11 u ostatku, trebate ga napisati kao B).

Primjer ("dijeljenje kutom"): Prevedimo broj 173 10 u oktalni brojevni sustav.


Dakle, 173 10 \u003d 255 8

2 Pretvaranje točnih decimalnih razlomaka u bilo koji drugi brojevni sustav.

Broj se mora pomnožiti s novom bazom brojevnog sustava. Znamenka koja je prešla u cijeli broj najviša je znamenka razlomljenog dijela novog broja. da bi se dobila sljedeća znamenka, razlomački dio dobivenog proizvoda mora se ponovno pomnožiti s novom bazom brojevnog sustava sve dok ne dođe do prijelaza na cjelobrojni dio. Množenje nastavljamo sve dok razlomački dio ne postane jednak nuli, odnosno dok ne postignemo točnost zadanu u zadatku ("...izračunaj s točnošću od npr. dvije decimale").

Primjer: Prevedimo broj 0,65625 10 u oktalni brojevni sustav.

Kalkulator vam omogućuje pretvaranje cijelih i razlomljenih brojeva iz jednog brojevnog sustava u drugi. Baza brojevnog sustava ne može biti manja od 2 ni veća od 36 (10 znamenki i 26 latinična slovaŠtoviše). Brojevi ne smiju premašiti 30 znakova. Za unos razlomački brojevi koristiti simbol. ili, . Da biste broj pretvorili iz jednog sustava u drugi, u prvo polje unesite izvorni broj, u drugo bazu izvornog brojevnog sustava, a u treće polje bazu brojevnog sustava u koji želite pretvoriti broj, zatim kliknite na gumb "Get Entry".

izvorni broj snimljeno u 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 -ti brojevni sustav.

Želim dobiti zapis broja 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 -ti brojevni sustav.

Dobiti unos

Prijevodi završeni: 1237182

Sustavi brojeva

Sustavi brojeva dijele se u dvije vrste: pozicijski I ne pozicijski. Koristimo arapski sustav, on je pozicijski, a postoji i rimski - samo nije pozicijski. U položajnim sustavima položaj znamenke u broju jednoznačno određuje vrijednost tog broja. To je lako razumjeti gledajući primjer nekog broja.

Primjer 1. Uzmimo broj 5921 u decimalnom brojevnom sustavu. Broj označavamo s desna na lijevo počevši od nule:

Broj 5921 možemo napisati u sljedećem obliku: 5921 = 5000+900+20+1 = 5 10 3 +9 10 2 +2 10 1 +1 10 0 . Broj 10 je karakteristika koja definira brojevni sustav. Vrijednosti položaja zadanog broja uzimaju se u stupnjevima.

Primjer 2. Razmotrite stvarno decimalni broj 1234.567. Numeriramo ga počevši od nulte pozicije broja od decimalne točke lijevo i desno:

Broj 1234,567 može se napisati na sljedeći način: 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 + 6 10 -2 +7 10 -3 .

Pretvaranje brojeva iz jednog brojevnog sustava u drugi

Najviše na jednostavan način prijenos broja iz jednog brojevnog sustava u drugi je prevođenje broja prvo u decimalni brojevni sustav, a zatim, dobivenog rezultata u traženi brojevni sustav.

Pretvaranje brojeva iz bilo kojeg brojevnog sustava u decimalni brojevni sustav

Da bismo broj iz bilo kojeg brojevnog sustava pretvorili u decimalni, dovoljno je zbrojiti njegove znamenke, počevši od nule (znamenka lijevo od decimalne točke) slično kao u primjerima 1 ili 2. Nađimo zbroj umnožaka znamenki broja prema bazi brojevnog sustava na potenciju položaja ove znamenke:

1. Pretvorite broj 1001101.1101 2 u decimalni brojevni sustav.
Riješenje: 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
Odgovor: 10011.1101 2 = 19.8125 10

2. Pretvorite broj E8F.2D 16 u decimalni brojevni sustav.
Riješenje: 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
Odgovor: E8F.2D 16 = 3727.17578125 10

Pretvaranje brojeva iz decimalnog brojevnog sustava u drugi brojevni sustav

Za pretvaranje brojeva iz decimalnog brojevnog sustava u drugi brojevni sustav, cijeli i razlomački dio broja moraju se prevesti odvojeno.

Pretvaranje cjelobrojnog dijela broja iz decimalnog brojevnog sustava u drugi brojevni sustav

Cjelobrojni dio se prevodi iz decimalnog brojevnog sustava u drugi brojevni sustav uzastopnim dijeljenjem cijelog dijela broja s bazom brojevnog sustava dok se ne dobije cjelobrojni ostatak, manji od baze brojevnog sustava. Rezultat prijenosa bit će zapis o ostacima, počevši od posljednjeg.

3. Pretvorite broj 273 10 u oktalni brojevni sustav.
Riješenje: 273 / 8 = 34 i ostatak 1, 34 / 8 = 4 i ostatak 2, 4 je manje od 8, tako da je izračun završen. Zapis iz ostataka će izgledati ovako: 421
Ispitivanje: 4 8 2 +2 8 1 +1 8 0 = 256+16+1 = 273 = 273 , rezultat je isti. Dakle, prijevod je točan.
Odgovor: 273 10 = 421 8

Razmotrimo prevođenje točnih decimalnih razlomaka u različite brojevne sustave.

Pretvaranje razlomačkog dijela broja iz decimalnog brojevnog sustava u drugi brojevni sustav

Prisjetite se ispravnog decimal nazvao realni broj s nultim cijelim dijelom. Da biste takav broj preveli u brojevni sustav s bazom N, morate dosljedno množiti broj s N dok se razlomački dio ne postavi na nulu ili dok se ne dobije potreban broj znamenki. Ako se tijekom množenja dobije broj s cijelim dijelom različitim od nule, tada se cijeli broj dalje ne uzima u obzir, jer se redom unosi u rezultat.

4. Pretvorite broj 0,125 10 u binarni brojevni sustav.
Riješenje: 0,125 2 = 0,25 (0 je cijeli broj, koji će biti prva znamenka rezultata), 0,25 2 = 0,5 (0 je druga znamenka rezultata), 0,5 2 = 1,0 (1 je treća znamenka rezultata). , a budući da je razlomački dio nula, prijevod je završen).
Odgovor: 0.125 10 = 0.001 2

Metode pretvorbe brojeva iz jednog brojevnog sustava u drugi.

Prevođenje brojeva iz jednog u drugi položajni brojevni sustav: prevođenje cijelih brojeva.

Da biste pretvorili cijeli broj iz jednog brojevnog sustava s bazom d1 u drugi s bazom d2, morate uzastopno podijeliti ovaj broj i rezultirajuće kvocijente s bazom d2 novog sustava sve dok kvocijent ne bude manji od baze d2. Posljednji kvocijent je najveća znamenka broja u novi sustav računanje s bazom d2, a brojevi koji slijede nakon nje su ostaci dijeljenja, zapisani obrnutim redoslijedom od primitka. Izvođenje aritmetičkih operacija u brojevnom sustavu u kojem je zapisan prevedeni broj.

Primjer 1. Pretvorite broj 11(10) u binarni brojevni sustav.

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

Primjer 2. Pretvorite broj 122(10) u oktalni brojevni sustav.


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

Primjer 3. Pretvorite broj 500(10) u heksadekadski brojevni sustav.


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

Prevođenje brojeva iz jednog u drugi položajni brojevni sustav: prevođenje pravih razlomaka.

Za pretvorbu pravilnog razlomka iz brojevnog sustava s bazom d1 u sustav s bazom d2 potrebno je dosljedno množiti izvorni razlomak i razlomke dobivenih umnožaka s bazom novog brojevnog sustava d2. Točan razlomak broja u novom brojevnom sustavu s bazom d2 formiran je kao cjelobrojni dijelovi dobivenih umnožaka, počevši od prvog.
Ako prevođenje rezultira razlomkom u obliku beskonačnog ili divergentnog niza, proces se može dovršiti kada se postigne potrebna točnost.

Kod prevođenja mješovitih brojeva potrebno je cijeli i razlomački dio posebno prevesti u novi sustav prema pravilima za prevođenje cijelih i pravih razlomaka, a potom oba rezultata spojiti u jedan mješoviti broj u novom brojevnom sustavu.

Primjer 1. Pretvorite broj 0,625(10) u binarni brojevni sustav.


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

Primjer 2. Pretvorite broj 0,6 (10) u oktalni brojevni sustav.


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

Primjer 2. Pretvorite broj 0,7(10) u heksadecimalni.


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

Pretvorite binarne, oktalne i heksadecimalne brojeve u decimalne.

Da biste pretvorili broj P-arnog sustava u decimalni, morate koristiti sljedeću formulu proširenja:
anan-1…a1a0=anPn+ an-1Pn-1+…+ a1P+a0 .

Primjer 1. Pretvorite broj 101,11(2) u decimalni brojevni sustav.

Odgovor: 101,11(2)= 5,75(10) .

Primjer 2. Pretvorite broj 57,24(8) u decimalni brojevni sustav.

Odgovor: 57,24(8) = 47,3125(10) .

Primjer 3. Pretvorite broj 7A,84(16) u decimalni brojevni sustav.

Odgovor: 7A,84(16)= 122,515625(10) .


Pretvaranje oktalnih i heksadecimalnih brojeva u binarne i obrnuto.

Za pretvaranje broja iz oktalnog u binarni, svaka znamenka ovog broja mora biti zapisana kao troznamenkasti binarni broj (trijada).

Primjer: Zapišite broj 16.24(8) u binarnom obliku.


Odgovor: 16,24(8)= 1110,0101(2) .

Da biste binarni broj pretvorili natrag u oktalni brojevni sustav, trebate podijeliti izvorni broj u trijade lijevo i desno od decimalne točke i predstaviti svaku grupu kao broj u oktalnom brojevnom sustavu. Ekstremni nepotpuni trozvuci dovršeni su nulama.

Primjer: Napišite broj 1110,0101(2) u oktalnom obliku.


Odgovor: 1110,0101(2)= 16,24(8) .

Za pretvorbu broja iz heksadecimalnog u binarni, svaka znamenka ovog broja mora biti zapisana kao četveroznamenkasti binarni broj (tetrad).

Primjer: zapišite broj 7A,7E(16) u binarnom brojevnom sustavu.


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

Napomena: Beznačajne nule s lijeve strane za cijele brojeve i s desne strane za razlomke se ne bilježe.

Da biste binarni broj pretvorili natrag u heksadecimalni brojevni sustav, trebate podijeliti izvorni broj u tetrade lijevo i desno od decimalne točke i predstaviti svaku grupu kao broj u heksadecimalnom brojevnom sustavu. Ekstremni nepotpuni trozvuci dovršeni su nulama.

Primjer: napišite broj 1111010.0111111(2) u heksadecimalnom obliku.

Da biste brzo pretvorili brojeve iz decimalnog u binarni, morate dobro poznavati brojeve "2 na potenciju". Na primjer, 2 10 \u003d 1024, itd. To će vam omogućiti da riješite neke primjere za prijevod u samo nekoliko sekundi. Jedan od tih zadataka je zadatak A1 iz USE demo 2012. Možete, naravno, dugo i zamorno dijeliti broj s "2". Ali bolje je odlučiti drugačije, štedeći dragocjeno vrijeme na ispitu.

Metoda je vrlo jednostavna. Njegova suština je sljedeća: ako je broj koji treba pretvoriti iz decimalnog sustava jednak broju "2 na potenciju", tada taj broj u binarnom sustavu sadrži broj nula jednak potenciji. Dodajemo "1" ispred ovih nula.

  • Prevedimo broj 2 iz decimalnog sustava. 2=2 1 . Stoga u binarnom sustavu broj sadrži 1 nulu. Ispred stavimo "1" i dobijemo 10 2 .
  • Prevedimo 4 iz decimalnog sustava. 4=2 2 . Stoga u binarnom sustavu broj sadrži 2 nule. Stavimo "1" ispred i dobijemo 100 2.
  • Prevedimo 8 iz decimalnog sustava. 8=2 3 . Stoga u binarnom sustavu broj sadrži 3 nule. Stavimo "1" ispred i dobijemo 1000 2.


Slično za ostale brojeve "2 na stepen".

Ako broj koji treba prevesti manje od broja"2 na potenciju" za 1, tada se u binarnom sustavu ovaj broj sastoji samo od jedinica, čiji je broj jednak stupnju.

  • Prevedimo 3 iz decimalnog sustava. 3=2 2 -1. Dakle, u binarnom sustavu broj sadrži 2 jedinice. Dobivamo 112.
  • Prevedimo 7 iz decimalnog sustava. 7=2 3 -1. Dakle, u binarnom sustavu broj sadrži 3 jedinice. Dobivamo 111 2.

Na slici kvadratići označavaju binarni prikaz broja, a lijevo je decimalni prikaz ružičaste boje.


Prijevod je sličan za ostale brojeve "2 na potenciju -1".

Jasno je da se prevođenje brojeva od 0 do 8 može obaviti brzo ili dijeljenjem, ili jednostavno znati napamet njihov prikaz u binarnom sustavu. Dao sam ove primjere kako biste razumjeli princip ovu metodu i koristio ga za prevođenje "impresivnijih brojeva", na primjer, za prevođenje brojeva 127,128, 255, 256, 511, 512 itd.

Takve zadatke možete ispuniti kada trebate prevesti broj, a ne jednak broju"2 na stepen", ali blizu toga. Može biti veći ili manji od broja "2 na potenciju". Razlika između prevedenog broja i broja "2 na potenciju" trebala bi biti mala. Na primjer, do 3. Prikaz brojeva od 0 do 3 u binarnom sustavu jednostavno treba znati bez prevođenja.

Ako je broj veći od , rješavamo ga ovako:

Prvo prevodimo broj "2 na potenciju" u binarni sustav. I onda tome dodamo razliku između broja "2 na potenciju" i prevedenog broja.

Na primjer, prevedimo 19 iz decimalnog sustava. Veći je od broja "2 na potenciju" za 3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

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

Ako je broj manji od broja "2 na potenciju", tada je prikladnije koristiti broj "2 na potenciju -1". Odlučujemo ovako:

Prvo prevedemo broj "2 na potenciju -1" u binarni sustav. Zatim od njega oduzmite razliku između broja "2 na potenciju -1" i prevedenog broja.

Na primjer, prevedimo 29 iz decimalnog sustava. Veći je od broja "2 na potenciju 1" za 2. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

Ako je razlika između prevedenog broja i broja "2 na potenciju" veća od tri, tada možete rastaviti broj na komponente, pretvoriti svaki dio u binarni sustav i zbrojiti.

Na primjer, prevedite broj 528 iz decimalnog sustava. 528=512+16. Prevodimo zasebno 512 i 16.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Složimo sada:

Pozdrav posjetitelju stranice! Nastavljamo proučavati protokol IP mrežnog sloja, točnije njegovu verziju IPv4. Na prvi pogled tema binarni brojevi i binarni brojevni sustav nema nikakve veze s IP protokolom, ali ako se sjetite da računala rade s nulama i jedinicama, ispada da je binarni sustav i njegovo razumijevanje osnova osnova, trebamo naučiti kako pretvoriti brojeve iz binarnih u decimalne i obrnuto: decimalni u binarni. To će nam pomoći da bolje razumijemo IP protokol, kao i kako rade mrežne maske promjenjive duljine. Započnimo!

Ako vas zanima tema računalnih mreža, možete pročitati ostale zapise kolegija.

4.4.1 Uvod

Prije nego što počnemo, vrijedi objasniti zašto mrežni inženjer treba ovu temu. Iako ste se mogli uvjeriti u njegovu nužnost kada smo razgovarali, ali, možete reći da postoje IP kalkulatori koji uvelike olakšavaju zadatak distribucije IP adresa, izračunavanje potrebnih subnet/mrežnih maski i određivanje broja mreže i broja hosta u IP adresi . Tako je, ali IP kalkulator nije uvijek pri ruci, to je razlog broj jedan. Razlog broj dva je taj što vam Cisco ispiti neće dati IP kalkulator i to je to. pretvaranje IP adresa iz decimalnih u binarne morat ćete napraviti na komadu papira, a nema tako malo pitanja gdje se to traži na ispitu / ispitima za dobivanje CCNA certifikata, bit će šteta da se ispit zatrpa zbog takve sitnice. I konačno, razumijevanje binarnog brojevnog sustava dovodi do boljeg razumijevanja principa rada.

Općenito, mrežni inženjer ne mora biti sposoban u svom umu prevesti brojeve iz binarnih u decimalne i obrnuto. Štoviše, rijetko tko zna kako to učiniti u svojoj glavi, uglavnom u ovu kategoriju spadaju profesori raznih kolegija o računalnim mrežama, jer se s tim svakodnevno susreću neprestano. Ali s komadom papira i olovkom trebali biste naučiti kako prevoditi.

4.4.2 Decimalne znamenke i brojevi, znamenke u brojevima

Počnimo jednostavno i pričajmo o binarnim znamenkama i brojevima, znate da su brojevi i brojke dvije različite stvari. Znamenka je poseban simbol za označavanje, a broj je apstraktni zapis koji označava količinu. Na primjer, da bismo napisali da imamo pet prstiju na ruci, možemo koristiti rimske i arapske brojeve: V i 5. Pet je u ovom slučaju i broj i broj. I, na primjer, za pisanje broja 20 koristimo dvije znamenke: 2 i 0.

Ukupno u decimalnom brojevnom sustavu imamo deset znamenki ili deset znakova (0,1,2,3,4,5,6,7,8,9), čijim spajanjem možemo zapisivati ​​različite brojeve. Koje načelo slijedimo kada koristimo decimalni brojevni sustav? Da, sve je vrlo jednostavno, podižemo deset na jedan ili drugi stupanj, na primjer, uzmimo broj 321. Kako se može napisati drugačije, ali ovako: 3*10 2 +2*10 1 +1*10 0 . Dakle, ispada da broj 321 predstavlja tri znamenke:

  1. Broj 3 označava najznačajniju znamenku, odnosno u ovom slučaju to je znamenka stotica, inače njihov broj.
  2. Broj 2 je na mjestu desetica, imamo dvije desetice.
  3. Broj jedan je najmanje značajna znamenka.

Odnosno, u ovom unosu dvojka nije samo dvojka, već dvije desetice ili dvije puta deset. Trojka nije samo trojka, nego tri puta sto. Ispada takva ovisnost: jedinica svake sljedeće znamenke je deset puta veća od jedinice prethodne, jer ono što je 300 je tri puta sto. Digresija o decimalnom brojevnom sustavu bila je potrebna kako bismo lakše razumjeli binarni.

4.4.3 Binarne znamenke i brojevi i njihov zapis

U binarnom brojevnom sustavu postoje samo dvije znamenke: 0 i 1. Stoga je pisanje broja u binarnom obliku često puno veće nego u decimalnom. Uz iznimku brojeva 0 i 1, nula u binarnom je jednaka nuli u decimalnom, a isto vrijedi i za jedan. Ponekad se, kako ne bi došlo do zabune u kojem je brojevnom sustavu broj napisan, koriste podindeksi: 267 10, 10100 12, 4712 8. Broj u podindeksu označava brojevni sustav.

Znakovi 0b i &(ampersand) mogu se koristiti za pisanje binarnih brojeva: 0b10111, &111. Ako u decimalnom brojevnom sustavu za izgovor broja 245 koristimo ovu konstrukciju: dvjesto četrdeset i pet, onda u binarnom brojevnom sustavu za imenovanje broja treba izgovoriti broj iz svake znamenke, npr. broj 1100 u binarnom brojevnom sustavu ne treba izgovarati kao tisuću sto, nego kao jedan, jedan, nula, nula. Pogledajmo brojeve od 0 do 10 u binarnom zapisu:

Mislim da bi logika do sada trebala biti jasna. Ako smo u decimalnom brojevnom sustavu za svaku znamenku imali na raspolaganju deset opcija (od 0 do uključivo 9), onda u binarnom brojevnom sustavu za svaku od znamenki binarnog broja imamo samo dvije mogućnosti: 0 ili 1.

Za rad s IP adresama i podmrežnim maskama trebamo samo prirodni brojevi u binarnom sustavu, iako vam binarni sustav omogućuje pisanje frakcijskih i negativni brojevi ali ne treba nam.

4.4.4 Pretvaranje brojeva iz decimalnog u binarni

Postanimo bolji u tome, kako pretvoriti broj iz decimalnog u binarni. I ovdje je sve zapravo vrlo, vrlo jednostavno, iako je teško objasniti riječima, pa ću odmah dati primjer pretvaranja brojeva iz decimalnog u binarni. Uzmimo broj 61, da bismo ga pretvorili u binarni sustav, moramo taj broj podijeliti s dva i vidjeti što se događa u ostatku dijeljenja. I rezultat dijeljenja se opet dijeli s dva. U ovom slučaju, 61 je dividenda, uvijek ćemo imati dvojku kao djelitelj, a kvocijent (rezultat dijeljenja) ponovno dijelimo s dva, nastavljamo dijeliti dok kvocijent ne bude 1, ova zadnja jedinica bit će krajnja lijeva znamenka . Donja slika to pokazuje.

Istovremeno imajte na umu da broj 61 nije 101111, već 111101, odnosno rezultat ispisujemo s kraja. Nema posebnog smisla dijeliti s dva u posljednjem, jer se u ovom slučaju koristi cjelobrojno dijeljenje, a ovim pristupom ispada kao na slici 4.4.2.

Nije najbolje brz način pretvaranje broja iz binarnog u decimalni. Imamo nekoliko akceleratora. Na primjer, broj 7 u binarnom sustavu zapisan je kao 111, broj 3 kao 11, a broj 255 kao 11111111. Svi ovi slučajevi su nečuveno jednostavni. Činjenica je da su brojevi 8, 4 i 256 potencije dvojke, a brojevi 7, 3 i 255 za jedan manji od ovih brojeva. Dakle, za broj koji je za jedan manji od broja jednakog potenciji dva, vrijedi jednostavno pravilo: u binarnom sustavu takav se decimalni broj zapisuje kao broj jedinica jednak potenciji dva. Tako je, na primjer, broj 256 dva na osmu potenciju, dakle, 255 je zapisano kao 11111111, a broj 8 je dva na treću potenciju, a to nam govori da će 7 u binarnom sustavu biti zapisano kao 111. Pa, shvatite, kako napisati 256, 4 i 8 u binarnom obliku također nije teško, samo dodajte jedan: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
Bilo koji rezultat možete provjeriti na kalkulatoru, au početku je bolje da to učinite.

Kao što vidite, još nismo zaboravili kako dijeliti. A sada možemo dalje.

4.4.5 Pretvaranje brojeva iz binarnih u decimalne

Pretvorba brojeva iz binarnog sustava mnogo je lakša od pretvorbe iz decimalnog u binarni. Kao primjer prijevoda poslužit će nam broj 11110. Obratite pozornost na pločicu ispod, ona pokazuje na koju potenciju trebate podići dvojku da biste na kraju dobili decimalni broj.

Da biste dobili decimalu iz ovog binarnog broja, trebate pomnožiti svaki broj u znamenki s dva na potenciju, a zatim dodati rezultate množenja, lakše je pokazati:

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

Otvorimo kalkulator i uvjerimo se da je 30 u decimalnom obliku 11110 u binarnom.

Vidimo da je sve urađeno kako treba. Iz primjera se vidi da pretvaranje broja iz binarnog u decimalni je puno lakše nego pretvaranje natrag. Da biste radili s povjerenjem, trebate zapamtiti samo potencije dvojke do 2 8 . Radi jasnoće, dat ću tablicu.

Ne treba nam više, jer najveći mogući broj koji se može napisati u jednom bajtu (8 bita ili osam binarnih vrijednosti) je 255, odnosno u svakom oktetu IP adrese ili IPv4 podmrežne maske najveća moguća vrijednost je 255. Postoje polja u kojima su vrijednosti veće od 255, ali ih ne trebamo izračunavati.

4.4.6 Zbrajanje, oduzimanje, množenje binarnih brojeva i druge operacije s binarnim brojevima

Pogledajmo sada operacije koje se mogu izvoditi nad binarnim brojevima. Počnimo s jednostavnim aritmetičkim operacijama, a zatim prijeđimo na operacije Booleove algebre.

Binarno zbrajanje

Zbrajanje binarnih brojeva nije tako teško: 1+0 =1; 1+1=0 (kasnije ću dati objašnjenje); 0+0=0. Ti su bili jednostavni primjeri, gdje je korištena samo jedna znamenka, pogledajmo primjere gdje je broj znamenki veći od jedne.
101 + 1101 u decimali je 5 + 13 = 18. Brojimo u stupcu.

Istaknut rezultat naranča, kalkulator kaže da smo dobro izračunali, možete provjeriti. Sada da vidimo zašto se to dogodilo, jer prvo sam napisao da je 1 + 1 = 0, ali to je za slučaj kada imamo samo jednu znamenku, za slučajeve kada ima više od jedne znamenke, 1 + 1 = 10 (ili dvije u decimalnom obliku), što je i logično.

Zatim pogledajte što se događa, zbrajamo znamenke s desna na lijevo:

1. 1+1=10, upišite nulu, a jedinica ide na sljedeći bit.

2. U sljedećoj znamenki dobije se 0+0+1=1 (ova jedinica nam je došla iz rezultata zbrajanja u koraku 1).

4. Ovdje imamo jedinicu samo za drugi broj, ali je ona ovdje prenesena, pa je 0 + 1 + 1 = 10.

5. Zalijepite sve zajedno: 10|0|1|0.

Ako je lijenost u stupcu, onda računajmo ovako: 101011 + 11011 ili 43 + 27 = 70. Što mi tu možemo, ali pogledajmo, jer nitko nam ne zabranjuje transformacije, a zbroj se ne mijenja od mijenjanja mjesta pojmova, za binarni brojevni sustav također vrijedi ovo pravilo.

  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.

Možete provjeriti kalkulatorom, 1000110 u binarnom obliku je 70 u decimalnom.

Oduzimanje binarnih brojeva

Odmah primjer za oduzimanje jednoznamenkastih brojeva u binarnom brojevnom sustavu, nismo govorili o negativnim brojevima, pa ne uzimamo u obzir 0-1: 1 - 0 = 1; 0 - 0 = 0; 1 - 1 = 0. Ako ima više od jedne znamenke, onda je sve također jednostavno, čak ni stupci i trikovi nisu potrebni: 110111 - 1000, to je isto što i 55 - 8. Kao rezultat, dobivamo 101111. I srce je prestalo kucati , odakle jedinica u trećoj znamenki (numeracija s lijeva na desno i počinje od nule)? Da, sve je jednostavno! U drugoj znamenki broja 110111 nalazi se 0, a u prvoj 1 (ako pretpostavimo da numeriranje znamenki počinje od 0 i ide slijeva na desno), ali se dobije jedinica četvrte znamenke zbrajanjem dvije jedinice treće znamenke (dobije se neka vrsta virtualne dvojke) i od te dvojke oduzimamo jedinicu koja je u nultoj znamenki broja 1000, ali 2 - 1 \u003d 1, pa 1 vrijedi znamenka u binarnom brojevnom sustavu.

Množenje binarnih brojeva

Ostaje nam da razmotrimo množenje binarnih brojeva, koje se provodi pomakom jednog bita ulijevo.. Ali prvo, pogledajmo rezultate jednoznamenkastog množenja: 1*1 = 1; 1*0=0 0*0=0. Zapravo, sve je jednostavno, sada pogledajmo nešto složenije. Uzmimo brojeve 101001 (41) i 1100 (12). Množit ćemo stupcem.

Ako iz tablice nije jasno kako se to dogodilo, onda ću pokušati objasniti riječima:

  1. Prikladno je množiti binarne brojeve u stupcu, pa ispisujemo drugi faktor ispod prvog, ako brojevi imaju različit broj znamenki, tada će biti prikladnije ako više bit će na vrhu.
  2. Sljedeći korak je množenje svih znamenki prvog broja s najmanje značajnom znamenkom drugog broja. Ispod zapisujemo rezultat množenja, u ovom slučaju potrebno ga je zapisati tako da rezultat množenja bude upisan ispod svake odgovarajuće znamenke.
  3. Sada trebamo pomnožiti sve znamenke prvog broja sa sljedećom znamenkom drugog broja i napisati rezultat još jedan red ispod, ali ovaj rezultat treba pomaknuti jednu znamenku ulijevo, ako pogledate tablicu, ovo je drugi niz nula od vrha.
  4. Morate učiniti isto za sljedeće znamenke, svaki put pomaknuvši jednu znamenku ulijevo, a ako pogledate tablicu, možete reći tu ćeliju ulijevo.
  5. Imamo četiri binarni brojevi, koje sada trebate dodati i dobiti rezultat. Dodatak koji smo nedavno razmotrili, problemi ne bi trebali nastati.

Općenito, operacija množenja nije tako teška, samo trebate malo vježbati.

Booleove algebarske operacije

U Booleovoj algebri postoje dva vrlo važna pojma: istina (true) i laž (false), a ekvivalent za njih su nula i jedinica u binarnom brojevnom sustavu. Operatori Booleove algebre proširuju broj dostupnih operatora na ovim vrijednostima, pogledajmo ih.

Operacija "Logički AND" ili AND

Operacija "Logički AND" ili AND ekvivalentna je množenju jednobitnih binarnih brojeva.

1 I 1 = 1; 1 I 0 = 1; 0 I 0 = 0; 0 I 1 = 0.

1 I 1 = 1;

1 I 0 = 1;

0 I 0 = 0;

0 I 1 = 0.

Rezultat "logičkog I" bit će jedan samo ako su obje vrijednosti jednake jedan, u svim ostalim slučajevima bit će nula.

Operacija "Logički ILI" ili ILI

Operacija "Logički ILI" ili ILI radi prema sljedećem principu: ako je barem jedna vrijednost jednaka jedinici, tada će rezultat biti jedan.

1 ILI 1 = 1; 1 ILI 0 = 1; 0 ILI 1 = 1; 0 ILI 0 = 0.

1 ILI 1 = 1;

1 ILI 0 = 1;

0 ILI 1 = 1;

0 ILI 0 = 0.

XOR operacija

Operacija XOR ili XOR dat će nam rezultat jedan samo ako je jedan od operanda jednak jedinici, a drugi jednak nuli. Ako su oba operanda nula, bit će nula, a čak i ako su oba operanda jednaka jedinici, rezultat će biti nula.