Convertiți din calculator octal în binar. Convertiți rapid un număr din sistemul numeric zecimal în binar

În acest articol vă voi spune elementele de bază ale tehnologiei informatice - acesta este un sistem binar. Acesta este cel mai jos nivel, acestea sunt numerele cu care funcționează computerul. Și veți învăța cum să transferați dintr-un sistem

Tabelul 1 - Reprezentarea numerelor în diverse sisteme
calcul (început)

Sisteme numerice

Zecimal

Binar

Octal

hexazecimal

BCD

Pentru a converti din zecimal în binar, aveți două opțiuni.

1) De exemplu, numărul 37 trebuie convertit din sistemul zecimal în sistemul binar, apoi trebuie să îl împărțiți la două și apoi să verificați restul diviziunii. Dacă restul este impar, atunci scriem unul în partea de jos și următorul ciclu de împărțire trece printr-un număr par dacă restul împărțirii este par, atunci scriem zero. La sfârșit trebuie să obțineți 1. Și acum convertim rezultatul rezultat în binar, iar numărul merge de la dreapta la stânga.

Pas cu pas: 37 este un număr impar, ceea ce înseamnă 1 , apoi 36/2 = 18. Numărul este par, ceea ce înseamnă 0. 18/2 = 9 este un număr impar, ceea ce înseamnă 1 , apoi 8/2 = 4. Numărul este par, citiți 0. 4/2 = 2, un număr par înseamnă 0, 2/2 = 1.

Deci am primit numărul. Nu uitați să numărați de la dreapta la stânga: 100101 - acum avem un număr în sistemul binar. În general, aceasta este scrisă ca o diviziune într-o coloană, așa cum vedeți în figura de mai jos:

2) Dar există o a doua cale. Îmi place mai mult de el. Transferul de la un sistem la altul se face după cum urmează:

unde ai este a i-a cifră a numărului;
k - numărul de cifre din partea fracționată a numărului;
m - numărul de cifre din partea întreagă a numărului;
N este baza sistemului numeric.

Baza sistemului numeric N arată de câte ori „greutatea” cifrei i-a este mai mare decât „greutatea” (i-1) a cifrei. Partea întreagă a numărului este separată de partea fracțională printr-un punct (virgulă).

Partea întreagă a numărului AN1, cu baza N1, este convertită în sistemul numeric cu baza N2 prin împărțirea secvențială a părții întregi a numărului AN1 la baza N2 scrisă ca număr cu baza N1, până când un rest este Partea rezultată este din nou împărțită la baza N2 și acest proces trebuie să se repete până când particula devine mai mică decât divizorul. Resturile rezultate din împărțire și ultima parte sunt scrise în ordinea inversă obținută în timpul împărțirii. Numărul generat va fi un întreg cu baza N2.

Partea fracționată a numărului AN1, cu baza N1, este convertită într-un sistem numeric cu baza N2 prin înmulțirea secvențială a părții fracționale a numărului AN1 cu baza N2, scrisă ca număr cu baza N1. La fiecare înmulțire, partea întreagă a produsului este luată sub forma următoarei cifre a cifrei corespunzătoare, iar partea fracțională a restului este luată ca o nouă înmulțire. Numărul de înmulțiri determină capacitatea de cifre a rezultatului rezultat, reprezentând partea fracțională a numărului AN1 în sistemul numeric N2. Partea fracționară a unui număr este adesea reprezentată incorect atunci când este tradusă.

Să facem asta cu un exemplu:

Convertiți din zecimal în binar

37 în zecimală trebuie convertit în binar. Să lucrăm cu grade:

2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1024 și așa mai departe... la infinit

Aceasta înseamnă: 37 - 32 = 5. 5 - 4 = 1. Răspunsul este următorul în binar: 100101.

Să convertim numărul 658 din zecimal în binar:

658-512=146
146-128=18
18-16=2. În sistemul binar, numărul va arăta astfel: 1010010010.

Conversia de la zecimal la octal

Dacă trebuie să convertiți din zecimal în octal, trebuie mai întâi să convertiți în binar, apoi să convertiți din binar în octal. Adică, este mai ușor astfel, deși îl poți traduce imediat. Folosind un algoritm similar cu cel pentru conversia în binar, vezi mai sus.

Convertiți de la zecimal la hexazecimal

Dacă trebuie să convertiți din zecimal în hexazecimal, trebuie mai întâi să convertiți în binar și apoi să convertiți din binar în hexazecimal. Adică, este mai ușor astfel, deși îl poți traduce imediat. Folosind un algoritm similar cu cel pentru conversia în binar, vezi mai sus.

Conversia de la binar la octal

Pentru a converti un număr din binar în octal, trebuie să împărțiți binarul în trei numere.

De exemplu, numărul rezultat 1010010010 este împărțit în trei numere, iar împărțirea merge de la dreapta la stânga: 1.010.010.010 = 1222. Vezi tabelul de la început.

Conversia din binar în hexazecimal

Pentru a converti un număr din binar în hexazecimal, trebuie să-l împărțiți în tetrade (patru fiecare)

10 1001 0010 = 292

Iată câteva exemple pe care să le cercetați:

Conversia se face din binar în octal, apoi în hexazecimal și apoi din binar în zecimal

(2) = 11101110
(8) = 11 101 110 = 276
(16) = 1110 1110 = EE
(10) = 1*128+ 1*64+ 1*32+ 0 +1*8 + 1*4 + 1*2+ 0= 238
3) (8) = 657

Conversia se realizează din hexazecimal în binar, apoi în octal și apoi din binar în zecimal

(16) = 6E8
(2) = 110 1110 1000
(8) = 11 011 101 000 = 2250
(10) = 1*1024+1*512+ 0 +1*128+ 1*64+ 1*32+ 8 = 1768

Nota 1

Dacă doriți să convertiți un număr dintr-un sistem numeric în altul, atunci este mai convenabil să îl convertiți mai întâi în sistemul numeric zecimal și abia apoi să îl convertiți din sistemul numeric zecimal în orice alt sistem numeric.

Reguli pentru conversia numerelor din orice sistem numeric în zecimal

În tehnologia de calcul care utilizează aritmetica mașină, conversia numerelor dintr-un sistem numeric în altul joacă un rol important. Mai jos dăm regulile de bază pentru astfel de transformări (traduceri).

    Când convertiți un număr binar într-o zecimală, trebuie să reprezentați numărul binar ca un polinom, fiecare element fiind reprezentat ca produsul unei cifre a numărului și puterea corespunzătoare a numărului de bază, în acest caz $2$, și apoi trebuie să calculați polinomul folosind regulile aritmeticii zecimale:

    $X_2=A_n \cdot 2^(n-1) + A_(n-1) \cdot 2^(n-2) + A_(n-2) \cdot 2^(n-3) + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

Figura 1. Tabelul 1

Exemplul 1

Convertiți numărul $11110101_2$ în sistemul numeric zecimal.

Soluţie. Folosind tabelul dat de $1$ puteri ale bazei $2$, reprezentăm numărul ca polinom:

$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + 6 + 6 + 2 + 0 + 4 + 0 + 1 = 245_(10)$

    Pentru a converti un număr din sistemul de numere octale în sistemul de numere zecimal, trebuie să îl reprezentați ca un polinom, fiecare element fiind reprezentat ca produsul unei cifre a numărului și puterea corespunzătoare a numărului de bază, în acest caz $8$, iar apoi trebuie să calculați polinomul conform regulilor aritmeticii zecimale:

    $X_8 = A_n \cdot 8^(n-1) + A_(n-1) \cdot 8^(n-2) + A_(n-2) \cdot 8^(n-3) + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

Figura 2. Tabelul 2

Exemplul 2

Convertiți numărul $75013_8$ în sistemul numeric zecimal.

Soluţie. Folosind tabelul dat de $2$ puteri ale bazei $8$, reprezentăm numărul ca polinom:

$75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_(10)$

    Pentru a converti un număr din hexazecimal în zecimal, trebuie să îl reprezentați ca un polinom, fiecare element fiind reprezentat ca produsul unei cifre a numărului și puterea corespunzătoare a numărului de bază, în acest caz $16$, apoi trebuie să calculați polinomul conform regulilor aritmeticii zecimale:

    $X_(16) = A_n \cdot 16^(n-1) + A_(n-1) \cdot 16^(n-2) + A_(n-2) \cdot 16^(n-3) + . .. + A_2 \cdot 16^1 + A_1 \cdot 16^0$

Figura 3. Tabelul 3

Exemplul 3

Convertiți numărul $FFA2_(16)$ în sistemul numeric zecimal.

Soluţie. Folosind tabelul dat de $3$ puteri ale bazei $8$, reprezentăm numărul ca un polinom:

$FFA2_(16) = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_(10)$

Reguli pentru conversia numerelor din sistemul numeric zecimal în altul

  • Pentru a converti un număr din sistemul numeric zecimal în sistemul binar, acesta trebuie împărțit secvenţial la $2$ până când există un rest mai mic sau egal cu $1$. Un număr din sistemul binar este reprezentat ca o succesiune a ultimului rezultat al împărțirii și a resturilor din divizare în ordine inversă.

Exemplul 4

Convertiți numărul $22_(10)$ în sistemul numeric binar.

Soluţie:

Figura 4.

$22_{10} = 10110_2$

  • Pentru a converti un număr din sistemul numeric zecimal în octal, acesta trebuie împărțit succesiv la $8$ până când există un rest mai mic sau egal cu $7$. Un număr din sistemul de numere octale este reprezentat ca o succesiune de cifre a rezultatului ultimei diviziuni și resturile din împărțire în ordine inversă.

Exemplul 5

Convertiți numărul $571_(10)$ în sistemul de numere octale.

Soluţie:

Figura 5.

$571_{10} = 1073_8$

  • Pentru a converti un număr din sistemul numeric zecimal în sistemul hexazecimal, acesta trebuie împărțit succesiv la $16$ până când există un rest mai mic sau egal cu $15$. Un număr din sistemul hexazecimal este reprezentat ca o succesiune de cifre a rezultatului ultimei diviziuni și restul divizării în ordine inversă.

Exemplul 6

Convertiți numărul $7467_(10)$ în sistem numeric hexazecimal.

Soluţie:

Figura 6.

$7467_(10) = 1D2B_(16)$

    Pentru a converti o fracție adecvată dintr-un sistem de numere zecimal într-un sistem de numere non-zecimal, este necesar să înmulțiți secvențial partea fracțională a numărului convertit cu baza sistemului în care trebuie convertit. Fracțiile din noul sistem vor fi reprezentate ca părți întregi de produse, începând cu prima.

    De exemplu: $0,3125_((10))$ în sistemul de numere octale va arăta ca $0,24_((8))$.

    În acest caz, puteți întâmpina o problemă când o fracție zecimală finită poate corespunde unei fracțiuni infinite (periodice) în sistemul numeric non-zecimal. În acest caz, numărul de cifre din fracția reprezentată în noul sistem va depinde de precizia necesară. De asemenea, trebuie remarcat faptul că numerele întregi rămân numere întregi, iar fracțiile proprii rămân fracții în orice sistem numeric.

Reguli pentru conversia numerelor dintr-un sistem de numere binar în altul

  • Pentru a converti un număr din sistemul de numere binar în octal, acesta trebuie împărțit în triade (triplu de cifre), începând cu cifra cea mai puțin semnificativă, dacă este necesar, adăugând zerouri la triada de început, apoi înlocuiți fiecare triadă cu cifra octală corespunzătoare. conform tabelului 4.

Figura 7. Tabelul 4

Exemplul 7

Convertiți numărul $1001011_2$ în sistemul de numere octale.

Soluţie. Folosind tabelul 4, convertim numărul din sistemul numeric binar în octal:

$001 001 011_2 = 113_8$

  • Pentru a converti un număr din sistemul de numere binar în hexazecimal, acesta trebuie împărțit în tetrade (patru cifre), începând cu cifra cea mai puțin semnificativă, dacă este necesar, adăugând zerouri la cea mai semnificativă tetradă, apoi înlocuiți fiecare tetradă cu cifra octală corespunzătoare. conform tabelului 4.

Metode de conversie a numerelor dintr-un sistem numeric în altul.

Conversia numerelor dintr-un sistem de numere pozițional în altul: conversia numerelor întregi.

Pentru a converti un număr întreg dintr-un sistem numeric cu baza d1 în altul cu baza d2, trebuie să împărțiți secvențial acest număr și coeficientii rezultați la baza d2 a noului sistem până când obțineți un cât mai mic decât baza d2. Ultimul cât este cea mai semnificativă cifră a unui număr din noul sistem numeric cu baza d2, iar cifrele care îl urmează sunt resturi din împărțire, scrise în ordinea inversă a primirii lor. Efectuați operații aritmetice în sistemul numeric în care este scris numărul care este tradus.

Exemplul 1. Convertiți numărul 11(10) în sistemul numeric binar.

Răspuns: 11(10)=1011(2).

Exemplul 2. Convertiți numărul 122(10) în sistemul numeric octal.


Răspuns: 122(10)=172(8).

Exemplul 3. Convertiți numărul 500(10) în sistem numeric hexazecimal.


Răspuns: 500(10)=1F4(16).

Conversia numerelor dintr-un sistem de numere pozițional în altul: conversia fracțiilor proprii.

Pentru a converti o fracție adecvată dintr-un sistem numeric cu baza d1 într-un sistem cu baza d2, este necesar să se înmulțească secvențial fracția originală și părțile fracționale ale produselor rezultate cu baza noului sistem de numere d2. Fracția corectă a unui număr în noul sistem numeric cu baza d2 se formează sub formă de părți întregi ale produselor rezultate, începând de la primul.
Dacă translația rezultă într-o fracție sub forma unei serii infinite sau divergente, procesul poate fi finalizat când este atinsă precizia necesară.

Atunci când traduceți numere mixte, este necesar să traduceți separat părțile întregi și fracționale într-un nou sistem conform regulilor de traducere a numerelor întregi și fracțiilor proprii și apoi să combinați ambele rezultate într-un număr mixt în noul sistem de numere.

Exemplul 1. Convertiți numărul 0,625(10) în sistemul numeric binar.


Răspuns: 0,625(10)=0,101(2).

Exemplul 2. Convertiți numărul 0,6(10) în sistemul de numere octale.


Răspuns: 0,6(10)=0,463(8).

Exemplul 2. Convertiți numărul 0,7(10) în sistem numeric hexazecimal.


Răspuns: 0.7(10)=0.B333(16).

Convertiți numere binare, octale și hexazecimale în sistem numeric zecimal.

Pentru a converti un număr din sistemul P-ary într-unul zecimal, trebuie să utilizați următoarea formulă de expansiune:
anan-1…а1а0=аnPn+ аn-1Pn-1+…+ а1P+a0 .

Exemplu 1. Convertiți numărul 101.11(2) în sistemul numeric zecimal.

Răspuns: 101.11(2)= 5.75(10) .

Exemplul 2. Convertiți numărul 57.24(8) în sistemul numeric zecimal.

Răspuns: 57,24(8) = 47,3125(10) .

Exemplul 3. Convertiți numărul 7A,84(16) în sistemul numeric zecimal.

Răspuns: 7A.84(16)= 122,515625(10) .


Conversia numerelor octale și hexazecimale în sistemul numeric binar și invers.

Pentru a converti un număr din sistemul de numere octale în binar, fiecare cifră a acestui număr trebuie scrisă ca un număr binar de trei cifre (triada).

Exemplu: scrieți numărul 16.24(8) în sistemul numeric binar.


Răspuns: 16,24(8)= 1110,0101(2) .

Pentru a converti un număr binar înapoi în sistemul de numere octale, trebuie să împărțiți numărul original în triade la stânga și la dreapta punctului zecimal și să reprezentați fiecare grup cu o cifră în sistemul de numere octale. Triadele extreme incomplete sunt completate cu zerouri.

Exemplu: scrieți numărul 1110.0101(2) în sistemul de numere octale.


Răspuns: 1110.0101(2)= 16.24(8) .

Pentru a converti un număr din sistemul numeric hexazecimal în binar, trebuie să scrieți fiecare cifră a acestui număr ca un număr binar de patru cifre (tetradă).

Exemplu: scrieți numărul 7A,7E(16) în sistemul numeric binar.


Răspuns: 7A,7E(16)= 1111010.0111111(2) .

Notă: zerourile de început în stânga pentru numere întregi și în dreapta pentru fracții nu sunt scrise.

Pentru a converti un număr binar înapoi în sistemul numeric hexazecimal, trebuie să împărțiți numărul original în tetrade la stânga și la dreapta punctului zecimal și să reprezentați fiecare grup cu o cifră în sistemul numeric hexazecimal. Triadele extreme incomplete sunt completate cu zerouri.

Exemplu: scrieți numărul 1111010.0111111(2) în sistemul numeric hexazecimal.

Scrieți numărul în sistemul numeric binar și puterile a doi de la dreapta la stânga. De exemplu, dorim să convertim numărul binar 10011011 2 în zecimal. Să o scriem mai întâi. Apoi scriem puterile a doi de la dreapta la stânga. Să începem cu 2 0, care este egal cu „1”. Creștem gradul cu unul pentru fiecare număr ulterior. Ne oprim atunci când numărul de elemente din listă este egal cu numărul de cifre din numărul binar. Numărul nostru exemplu, 10011011, are opt cifre, deci o listă de opt elemente ar arăta astfel: 128, 64, 32, 16, 8, 4, 2, 1

Scrieți cifrele numărului binar sub puterile corespunzătoare a lui doi. Acum scrieți pur și simplu 10011011 sub numerele 128, 64, 32, 16, 8, 4, 2 și 1, astfel încât fiecare cifră binară să corespundă unei puteri diferite de doi. Cel mai din dreapta „1” al numărului binar trebuie să corespundă celui din dreapta „1” al puterilor a doi și așa mai departe. Dacă preferați, puteți scrie numărul binar deasupra puterilor lui doi. Cel mai important lucru este că se potrivesc între ele.

Potriviți cifrele dintr-un număr binar cu puterile corespunzătoare a doi. Desenați linii (de la dreapta la stânga) care leagă fiecare cifră succesivă a numărului binar de puterea a doi deasupra acestuia. Începeți să desenați linii conectând prima cifră a unui număr binar la prima putere a două de deasupra acestuia. Apoi trageți o linie de la a doua cifră a numărului binar la a doua putere a lui doi. Continuați să conectați fiecare număr la puterea corespunzătoare a doi. Acest lucru vă va ajuta să vedeți vizual relația dintre două seturi diferite de numere.

Notați valoarea finală a fiecărei puteri a două. Treceți prin fiecare cifră a unui număr binar. Dacă numărul este 1, scrieți puterea corespunzătoare a doi sub număr. Dacă acest număr este 0, scrieți 0 sub număr.

  • Deoarece „1” se potrivește cu „1”, rămâne „1”. Deoarece „2” se potrivește cu „1”, rămâne „2”. Deoarece „4” corespunde cu „0”, acesta devine „0”. Deoarece „8” se potrivește cu „1”, devine „8”, iar din moment ce „16” se potrivește cu „1” devine „16”. „32” se potrivește cu „0” și devine „0”, „64” se potrivește cu „0” și, prin urmare, devine „0”, în timp ce „128” se potrivește cu „1” și, prin urmare, devine 128.
  • Adunați valorile rezultate. Acum adăugați numerele rezultate sub linie. Iată ce trebuie să faceți: 128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 = 155. Acesta este echivalentul zecimal al numărului binar 10011011.

    Scrieți răspunsul împreună cu un indice egal cu sistemul numeric. Acum tot ce trebuie să faci este să scrii 155 10 pentru a arăta că lucrezi cu un răspuns zecimal, care tratează puterile lui zece. Cu cât convertiți mai multe numere binare în zecimale, cu atât vă va fi mai ușor să vă amintiți puterile a doi și cu atât mai repede veți putea finaliza sarcina.

  • Utilizați această metodă pentru a converti un număr binar cu un punct zecimal în formă zecimală. Puteți folosi această metodă chiar dacă doriți să convertiți un număr binar, cum ar fi 1,1 2, în zecimal. Tot ce trebuie să știți este că numărul din partea stângă a zecimalei este un număr obișnuit, iar numărul din partea dreaptă a zecimalei este numărul „jumătate” sau 1 x (1/2).

    • „1” din stânga numărului zecimal corespunde cu 2 0, sau 1. 1 din dreapta numărului zecimal corespunde cu 2 -1 sau.5. Adăugați 1 și 0,5 și obțineți 1,5, care este echivalentul zecimal al lui 1,1 2.
  • Bună ziua, vizitator al site-ului! Continuăm să studiem protocolul nivelului de rețea IP și, pentru a fi mai precis, versiunea sa IPv4. La prima vedere subiectul numere binare și sistem de numere binar nu are nimic de-a face cu protocolul IP, dar dacă ne amintim că computerele funcționează cu zerouri și cu unu, atunci se dovedește că sistemul binar și înțelegerea lui stă la baza elementelor fundamentale, avem nevoie Învățați să convertiți numerele din binar în zecimal si invers: zecimal în binar. Acest lucru ne va ajuta să înțelegem mai bine protocolul IP, precum și principiul de funcționare a măștilor de rețea cu lungime variabilă. Să începem!

    Dacă subiectul rețelelor de calculatoare vă interesează, puteți citi și alte înregistrări de curs.

    4.4.1 Introducere

    Înainte de a începe, merită să explicăm de ce un inginer de rețea are nevoie de acest subiect. Deși te-ai putea convinge de necesitatea ei când am vorbit, poți spune că există calculatoare de IP care facilitează foarte mult sarcina de alocare a adreselor IP, de calculare a măștilor de subrețea/rețea necesare și de a determina numărul rețelei și numărul gazdei în adresa IP. Așa este, dar calculatorul IP nu este întotdeauna la îndemână, acesta este motivul numărul unu. Motivul numărul doi este că la examenele Cisco nu vă vor da un calculator IP și atât. va trebui să faceți conversia adreselor IP din zecimal în binar pe o bucată de hârtie, și nu sunt atât de puține întrebări la care acest lucru se cere la examenul/examenele pentru obținerea certificatului CCNA, ar fi păcat dacă examenul ar fi picat din cauza unui asemenea fleac. Și, în sfârșit, înțelegerea sistemului de numere binar duce la o mai bună înțelegere a principiului de funcționare.

    În general, un inginer de rețea nu trebuie să fie capabil să convertească numerele din binar în zecimal și invers în capul său. Mai mult decât atât, rareori cineva știe să facă acest lucru mental, profesorii diferitelor cursuri pe rețelele de calculatoare se încadrează în principal în această categorie, deoarece se confruntă în mod constant cu asta în fiecare zi. Dar cu o bucată de hârtie și un pix, ar trebui să înveți cum să traduci.

    4.4.2 Cifre zecimale și numere, cifre în numere

    Să începem simplu și să vorbim despre cifre și numere binare, știi că numerele și numerele sunt două lucruri diferite. Un număr este un simbol special pentru desemnare, iar un număr este o notație abstractă pentru cantitate. De exemplu, pentru a scrie că avem cinci degete pe mână, putem folosi cifre romane și arabe: V și 5. În acest caz, cinci este atât un număr, cât și o cifră. Și, de exemplu, pentru a scrie numărul 20 folosim două cifre: 2 și 0.

    În total, în sistemul numeric zecimal avem zece cifre sau zece simboluri (0,1,2,3,4,5,6,7,8,9), prin combinarea cărora putem scrie diferite numere. După ce principiu ne ghidăm atunci când folosim sistemul numeric zecimal? Da, totul este foarte simplu, ridicăm zece la un grad sau altul, de exemplu, să luăm numărul 321. Cum se poate scrie altfel, așa: 3*10 2 +2*10 1 +1*10 0 . Astfel, se dovedește că numărul 321 reprezintă trei cifre:

    1. Cifra 3 înseamnă locul cel mai semnificativ sau în acest caz este locul sutelor, altfel numărul lor.
    2. Numărul 2 este pe locul zecilor, avem două zeci.
    3. Numărul unu se referă la cifra cea mai puțin semnificativă.

    Adică, în această intrare un doi nu este doar un doi, ci două zeci sau două ori zece. Și trei nu înseamnă doar trei, ci de trei ori o sută. Se obține următoarea dependență: unitatea fiecărei cifre următoare este de zece ori mai mare decât unitatea celei anterioare, deoarece ceea ce este 300 este de trei ori o sută. A fost necesară o digresiune privind sistemul numeric zecimal pentru a facilita înțelegerea sistemului binar.

    4.4.3 Cifre și numere binare, precum și înregistrarea acestora

    Există doar două cifre în sistemul de numere binar: 0 și 1. Prin urmare, scrierea unui număr în sistemul binar este adesea mult mai mare decât în ​​sistemul zecimal. Cu excepția numerelor 0 și 1, zero în sistemul numeric binar este egal cu zero în sistemul numeric zecimal și același lucru este valabil și pentru unu. Uneori, pentru a nu confunda în ce sistem numeric este scris numărul, se folosesc subindici: 267 10, 10100 12, 4712 8. Numărul din subindex indică sistemul de numere.

    Simbolurile 0b și &(ampersand) pot fi folosite pentru a scrie numere binare: 0b10111, &111. Dacă în sistemul numeric zecimal, pentru a pronunța numărul 245 folosim această construcție: două sute patruzeci și cinci, atunci în sistemul numeric binar, pentru a numi numărul, trebuie să pronunțăm o cifră din fiecare cifră, de exemplu, numărul 1100 în sistemul numeric binar nu trebuie pronunțat ca o mie o sută, ci ca unu, unu, zero, zero. Să ne uităm la scrierea numerelor de la 0 la 10 în sistemul de numere binar:

    Cred că logica ar trebui să fie clară până acum. Dacă în sistemul numeric zecimal pentru fiecare cifră aveam zece opțiuni disponibile (de la 0 la 9 inclusiv), atunci în sistemul numeric binar în fiecare dintre cifrele unui număr binar avem doar două opțiuni: 0 sau 1.

    Pentru a lucra cu adrese IP și măști de subrețea, avem nevoie doar de numere naturale în sistemul de numere binar, deși sistemul binar ne permite să scriem numere fracționale și negative, dar nu avem nevoie de acest lucru.

    4.4.4 Conversia numerelor din zecimal în binar

    Să ne uităm mai bine la asta cum se transformă un număr din zecimal în binar. Și aici totul este de fapt foarte, foarte simplu, deși este greu de explicat în cuvinte, așa că o voi da imediat exemplu de conversie a numerelor din zecimal în binar. Să luăm numărul 61, pentru a converti în sistemul binar, trebuie să împărțim acest număr la doi și să vedem care este restul diviziunii. Și rezultatul împărțirii este din nou împărțit la doi. În acest caz, 61 este dividendul, vom avea întotdeauna doi ca divizor și împărțim din nou câtul (rezultatul împărțirii) la doi, continuăm împărțirea până când coeficientul conține 1, această ultimă unitate va fi cifra din stânga . Imaginea de mai jos demonstrează acest lucru.

    Vă rugăm să rețineți că numărul 61 nu este 101111, ci 111101, adică scriem rezultatul de la sfârșit. În acest din urmă, nu are sens să împărțim unul la doi, deoarece în acest caz se folosește diviziunea întregi, iar cu această abordare se dovedește ca în Figura 4.4.2.

    Acesta nu este cel mai rapid mod de a converti un număr din binar în zecimal.. Avem mai multe acceleratoare. De exemplu, numărul 7 în binar este scris ca 111, numărul 3 ca 11, iar numărul 255 ca 11111111. Toate aceste cazuri sunt incredibil de simple. Faptul este că numerele 8, 4 și 256 sunt puteri a doi, iar numerele 7, 3 și 255 sunt cu unul mai puțin decât aceste numere. Deci, pentru numerele care sunt cu unu mai puțin decât un număr egal cu o putere a doi, se aplică o regulă simplă: în sistemul binar, un astfel de număr zecimal este scris ca un număr de unități egal cu o putere a două. Deci, de exemplu, numărul 256 este doi la a opta putere, prin urmare, 255 este scris ca 11111111, iar numărul 8 este doi la a treia putere, iar acest lucru ne spune că 7 în sistemul numeric binar va fi scris ca 111 . Ei bine, înțelegeți, cum să scrieți 256, 4 și 8 în sistemul de numere binar, nu este dificil, adăugați doar unul: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
    Puteți verifica oricare dintre rezultatele dvs. pe un calculator și este mai bine să faceți acest lucru la început.

    După cum puteți vedea, încă nu am uitat cum să împărțim. Și acum putem merge mai departe.

    4.4.5 Conversia numerelor din binar în zecimal

    Conversia numerelor din binar este mult mai ușoară decât convertirea din zecimal în binar. Ca exemplu de traducere, vom folosi numărul 11110. Fiți atenți la tabelul de mai jos, acesta arată puterea la care trebuie să ridicați doi pentru a obține în cele din urmă un număr zecimal.

    Pentru a obține un număr zecimal din acest număr binar, trebuie să înmulțiți fiecare număr din cifră cu două la putere și apoi să adăugați rezultatele înmulțirii, este mai ușor de arătat:

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

    Să deschidem calculatorul și să ne asigurăm că 30 în sistemul numeric zecimal este 11110 în binar.

    Vedem că totul a fost făcut corect. Din exemplu reiese clar că Convertirea unui număr din binar în zecimal este mult mai ușoară decât convertirea lui înapoi. Pentru a lucra cu încredere, trebuie doar să vă amintiți puterile de la doi până la 28. Pentru claritate, voi oferi un tabel.

    Nu avem nevoie de mai mult, deoarece numărul maxim posibil care poate fi scris într-un octet (8 biți sau opt valori binare) este 255, adică în fiecare octet al adresei IP sau al măștii de subrețea IPv4, valoarea maximă posibilă este 255. Există câmpuri , în care există valori mai mari decât 255, dar nu trebuie să le calculăm.

    4.4.6 Adunarea, scăderea, înmulțirea numerelor binare și alte operații cu numere binare

    Să ne uităm acum la operatii care pot fi efectuate asupra numerelor binare. Să începem cu operații aritmetice simple și apoi să trecem la operații de algebră booleană.

    Adăugarea numerelor binare

    Adăugarea numerelor binare nu este atât de dificilă: 1+0 =1; 1+1=0 (voi da o explicație mai târziu); 0+0=0. Acestea au fost exemple simple în care a fost folosită o singură cifră, să ne uităm la exemple în care numărul de cifre este mai mare de una.
    101+1101 în sistemul zecimal este 5 + 13 = 18. Să numărăm într-o coloană.

    Rezultatul este evidențiat în portocaliu, calculatorul spune că am calculat corect, îl puteți verifica. Acum să vedem de ce s-a întâmplat asta, pentru că la început am scris că 1+1=0, dar asta este pentru cazul când avem o singură cifră, pentru cazurile în care sunt mai multe cifre, 1+1=10 (sau două în zecimală), ceea ce este logic.

    Apoi uite ce se întâmplă, efectuăm adunări cu cifre de la dreapta la stânga:

    1. 1+1=10, scrieți zero și unul trece la următoarea cifră.

    2. În următoarea cifră obținem 0+0+1=1 (această unitate ne-a venit din rezultatul adunării din pasul 1).

    4. Aici avem o unitate doar în al doilea număr, dar a fost transferată și aici, deci 0+1+1 = 10.

    5. Lipiți totul împreună: 10|0|1|0.

    Dacă ești leneș într-o coloană, atunci hai să numărăm așa: 101011+11011 sau 43 + 27 = 70. Ce putem face aici, dar să ne uităm, pentru că nimeni nu ne interzice să facem transformări și să schimbăm locurile termenii nu modifică suma, pentru sistemul de numere binar această regulă este de asemenea relevantă.

    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.

    Puteți verifica cu un calculator, 1000110 în binar este 70 în zecimală.

    Scăderea numerelor binare

    Imediat un exemplu pentru scăderea numerelor cu o singură cifră în sistemul de numere binar, nu am vorbit despre numere negative, așa că nu ținem cont de 0-1: 1 – 0 = 1; 0 – 0 = 0; 1 – 1 = 0. Dacă există mai multe cifre, atunci totul este și simplu, nici măcar nu aveți nevoie de coloane sau trucuri: 110111 – 1000, aceasta este la fel cu 55 – 8. Ca rezultat, obținem 101111. Și inima a încetat să mai bată, de unde provine unitatea din a treia cifră (numerotarea de la stânga la dreapta și începând de la zero)? E simplu! În a doua cifră a numărului 110111 există 0, iar în prima cifră este 1 (dacă presupunem că numerotarea cifrelor începe de la 0 și merge de la stânga la dreapta), dar unitatea celei de-a patra cifre se obține prin adunând două unități din a treia cifră (se obține un fel de două virtuale) și din aceasta Pentru doi, scădem una, care se află în cifra zero a numărului 1000 și 2 - 1 = 1, iar 1 este o cifră validă în sistemul de numere binar.

    Înmulțirea numerelor binare

    Rămâne să luăm în considerare înmulțirea numerelor binare, care este implementată prin deplasarea cu un bit la stânga. Dar mai întâi, să ne uităm la rezultatele înmulțirii cu o singură cifră: 1*1 = 1; 1*0=0 0*0=0. De fapt, totul este simplu, acum să ne uităm la ceva mai complex. Să luăm numerele 101001 (41) și 1100 (12). Vom înmulți cu coloană.

    Dacă nu este clar din tabel cum s-a întâmplat acest lucru, atunci voi încerca să explic în cuvinte:

    1. Este convenabil să înmulțim numere binare într-o coloană, așa că scriem al doilea factor sub primul, dacă numerele au numere diferite de cifre, va fi mai convenabil dacă numărul mai mare este deasupra.
    2. Următorul pas este să înmulțiți toate cifrele primului număr cu cea mai mică cifră a celui de-al doilea număr. Mai jos scriem rezultatul înmulțirii, astfel încât sub fiecare cifră corespunzătoare să fie scris rezultatul înmulțirii.
    3. Acum trebuie să înmulțim toate cifrele primului număr cu următoarea cifră a celui de-al doilea număr și să scriem rezultatul încă o linie mai jos, dar acest rezultat trebuie mutat cu o cifră la stânga, dacă te uiți la tabel; este a doua succesiune de zerouri de sus.
    4. Același lucru trebuie făcut și pentru cifrele ulterioare, de fiecare dată mutând o cifră la stânga, iar dacă te uiți la tabel, poți spune că o celulă la stânga.
    5. Avem patru numere binare pe care acum trebuie să le adunăm și să obținem rezultatul. Ne-am uitat recent la adaos, nu ar trebui să fie probleme.

    În general, operația de înmulțire nu este atât de dificilă, trebuie doar puțină practică.

    Operații de algebră booleană

    Există două concepte foarte importante în algebra booleană: adevărat și fals, al căror echivalent este zero și unu în sistemul numeric binar. Operatorii de algebră booleană extind numărul de operatori disponibili peste aceste valori, haideți să le aruncăm o privire.

    Operație logică AND sau AND

    Operația logică AND sau AND este echivalentă cu înmulțirea numerelor binare cu o singură cifră.

    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.

    Rezultatul „ȘI logic” va fi unul numai dacă ambele valori sunt egale cu unul, în toate celelalte cazuri, va fi zero.

    Operațiunea „SAU logic” sau SAU

    Operația „SAU logic” sau SAU funcționează pe următorul principiu: dacă cel puțin o valoare este egală cu una, atunci rezultatul va fi unul.

    1 SAU 1 = 1; 1 SAU 0 = 1; 0 SAU 1 = 1; 0 SAU 0 = 0.

    1 SAU 1 = 1;

    1 SAU 0 = 1;

    0 SAU 1 = 1;

    0 SAU 0 = 0.

    Operație exclusivă OR sau XOR

    Operația „SAU exclusiv” sau XOR ne va da un rezultat de unu numai dacă unul dintre operanzi este egal cu unu și al doilea este egal cu zero. Dacă ambii operanzi sunt egali cu zero, rezultatul va fi zero și chiar dacă ambii operanzi sunt egali cu unu, rezultatul va fi zero.