Exemple de la sistemul de numere binar la zecimal. Conversia numerelor în sisteme de numere binare, hexazecimale, zecimale, octale

Pentru a converti rapid numerele din sistemul numeric zecimal în sistemul binar, trebuie să aveți o bună cunoaștere a numerelor „2 la putere”. De exemplu, 2 10 =1024 etc. Acest lucru vă va permite să rezolvați câteva exemple de traducere literalmente în câteva secunde. Una dintre aceste sarcini este Problema A1 din demonstrația USE 2012. Desigur, puteți lua un timp lung și obositor pentru a împărți un număr la „2”. Dar este mai bine să decideți diferit, economisind timp prețios la examen.

Metoda este foarte simplă. Esenta sa este aceasta: dacă numărul care trebuie convertit din sistemul zecimal este egal cu numărul „2 la putere”, atunci acest număr este în sistem binar conține un număr de zerouri egal cu o putere. Adăugăm un „1” în fața acestor zerouri.

  • Să convertim numărul 2 din sistemul zecimal. 2=2 1 . Prin urmare, în sistemul binar, un număr conține 1 zero. Punem „1” în față și obținem 10 2.
  • Să convertim 4 din sistemul zecimal. 4=2 2 . Prin urmare, în sistemul binar, un număr conține 2 zerouri. Punem „1” în față și obținem 100 2.
  • Să convertim 8 din sistemul zecimal. 8=2 3 . Prin urmare, în sistemul binar, un număr conține 3 zerouri. Punem „1” în față și obținem 1000 2.


La fel și pentru alte numere „2 la putere”.

Dacă numărul care trebuie convertit este mai mic decât numărul „2 la putere” cu 1, atunci în sistemul binar acest număr este format numai din unități, al căror număr este egal cu puterea.

  • Să convertim 3 din sistemul zecimal. 3=2 2 -1. Prin urmare, în sistemul binar, un număr conține 2 uni. Primim 11 2.
  • Să convertim 7 din sistemul zecimal. 7=2 3 -1. Prin urmare, în sistemul binar, un număr conține 3 uni. Primim 111 2.

În figură, pătratele indică reprezentarea binară a numărului, iar reprezentarea zecimală în roz în stânga.


Traducerea este similară pentru alte numere „2 la puterea-1”.

Este clar că translația numerelor de la 0 la 8 se poate face rapid sau prin împărțire, sau pur și simplu cunoaștem pe de rost reprezentarea lor în sistemul binar. Am dat aceste exemple astfel încât să înțelegeți principiul acestei metode și să o utilizați pentru a traduce mai multe „numere impresionante”, de exemplu, pentru a traduce numerele 127,128, 255, 256, 511, 512 etc.

Puteți întâlni astfel de probleme atunci când trebuie să convertiți un număr care nu este egal cu numărul „2 la putere”, dar aproape de acesta. Poate fi mai mare sau mai mică de 2 la putere. Diferența dintre numărul tradus și numărul „2 la putere” ar trebui să fie mică. De exemplu, până la 3. Reprezentarea numerelor de la 0 la 3 în sistemul binar trebuie doar cunoscută fără translație.

Dacă numărul este mai mare decât , atunci rezolvați astfel:

Mai întâi convertim numărul „2 la putere” în sistem binar. Și apoi adăugăm la acesta diferența dintre numărul „2 la putere” și numărul care este tradus.

De exemplu, să convertim 19 din sistemul zecimal. Este mai mare decât numărul „2 la putere” cu 3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

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

Dacă numărul este mai mic decât numărul „2 la putere”, atunci este mai convenabil să utilizați numărul „2 la putere-1”. O rezolvam astfel:

Mai întâi convertim numărul „2 în puterea-1” în sistem binar. Și apoi scădem din el diferența dintre numărul „2 la puterea lui 1” și numărul care este tradus.

De exemplu, să convertim 29 din sistemul zecimal. Este mai mare decât numărul „2 la puterea-1” cu 2. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

Dacă diferența dintre numărul care este tradus și numărul „2 la putere” este mai mare de trei, atunci puteți împărți numărul în componentele sale, puteți converti fiecare parte în sistemul binar și puteți adăuga.

De exemplu, convertiți numărul 528 din sistemul zecimal. 528=512+16. Traducem 512 și 16 separat.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Acum să-l adăugăm într-o coloană:

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 calculatoarelor, folosind aritmetica mașină, un rol important îl joacă conversia numerelor dintr-un sistem numeric în altul. Mai jos dăm regulile de bază pentru astfel de transformări (traduceri).

    Când convertiți un număr binar într-o zecimală, este necesar să se reprezinte numărul binar ca un polinom, fiecare element al căruia este reprezentat ca produsul unei cifre a numărului și puterea corespunzătoare a numărului de bază, în î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 sistemul de numere 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 sistem hexazecimal 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 care este convertit cu baza sistemului în care trebuie convertit. Fracție în sistem nou vor fi prezentate sub forma unor părți întregi de lucrări, î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 principală, 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.

Calculatorul vă permite să convertiți numere întregi și fracționale dintr-un sistem numeric în altul. Baza sistemului de numere nu poate fi mai mică de 2 și mai mare de 36 (10 cifre și 26 litere latine la urma urmelor). Lungimea numerelor nu trebuie să depășească 30 de caractere. A intra numere fracționare utilizați simbolul. sau, . Pentru a converti un număr dintr-un sistem în altul, introduceți numărul original în primul câmp, radix sistem original numărul în al doilea și baza sistemului numeric în care doriți să convertiți numărul în al treilea câmp, apoi faceți clic pe butonul „Obțineți înregistrare”.

Număr original scris în 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 3 6 -al-lea sistem de numere.

Vreau să scriu un număr 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 -al-lea sistem de numere.

Obțineți intrare

Traduceri finalizate: 1237182

Sisteme numerice

Sistemele numerice sunt împărțite în două tipuri: poziționalȘi nu pozițional. Folosim sistemul arab, este pozițional, dar există și sistemul roman - nu este pozițional. ÎN sisteme poziționale Poziția unei cifre într-un număr determină în mod unic valoarea acelui număr. Acest lucru este ușor de înțeles luând în considerare un număr ca exemplu.

Exemplul 1. Să luăm numărul 5921 în sistemul numeric zecimal. Să numerotăm numărul de la dreapta la stânga începând de la zero:

Numărul 5921 se poate scrie sub următoarea formă: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Numărul 10 este o caracteristică care definește sistemul numeric. Valorile poziției unui număr dat sunt luate ca puteri.

Exemplul 2. Luați în considerare realul numar decimal 1234.567. Să-l numerotăm începând de la pozitia zero numere de la virgulă zecimală la stânga și la dreapta:

Numărul 1234.567 se poate scrie sub următoarea formă: 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 .

Conversia numerelor dintr-un sistem numeric în altul

Cel mai într-un mod simplu convertirea unui număr dintr-un sistem numeric în altul înseamnă mai întâi convertirea numărului într-un sistem numeric zecimal, iar apoi rezultatul rezultat în sistemul numeric necesar.

Conversia numerelor din orice sistem numeric în sistemul numeric zecimal

Pentru a converti un număr din orice sistem numeric în zecimal, este suficient să îi numerotați cifrele, începând cu zero (cifra din stânga punctului zecimal) în mod similar cu exemplele 1 sau 2. Să găsim suma produselor cifrelor a numărului de baza sistemului numeric la puterea poziției acestei cifre:

1. Convertiți numărul 1001101.1101 2 în sistemul numeric zecimal.
Soluţie: 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
Răspuns: 10011.1101 2 = 19.8125 10

2. Convertiți numărul E8F.2D 16 în sistemul numeric zecimal.
Soluţie: 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
Răspuns: E8F.2D 16 = 3727,17578125 10

Conversia numerelor din sistemul numeric zecimal în alt sistem numeric

Pentru a converti numerele din sistemul numeric zecimal într-un alt sistem numeric, părțile întregi și fracționale ale numărului trebuie convertite separat.

Conversia unei părți întregi a unui număr dintr-un sistem numeric zecimal în alt sistem numeric

O parte întreagă este convertită dintr-un sistem de numere zecimal într-un alt sistem de numere prin împărțirea secvențială a părții întregi a unui număr la baza sistemului de numere până când se obține un rest întreg care este mai mic decât baza sistemului de numere. Rezultatul traducerii va fi o înregistrare a restului, începând cu ultima.

3. Convertiți numărul 273 10 în sistemul numeric octal.
Soluţie: 273 / 8 = 34 și restul 1. 34 / 8 = 4 și restul 2. 4 este mai mic decât 8, deci calculul este complet. Înregistrarea din restul va avea următoarea vedere: 421
Examinare: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273, rezultatul este același. Aceasta înseamnă că traducerea a fost făcută corect.
Răspuns: 273 10 = 421 8

Să luăm în considerare translația fracțiilor zecimale regulate în diferite sisteme numerice.

Conversia părții fracționale a unui număr din sistemul numeric zecimal în alt sistem numeric

Amintiți-vă că se numește o fracție zecimală adecvată numar real cu parte întreagă zero. Pentru a converti un astfel de număr într-un sistem numeric cu baza N, trebuie să înmulțiți succesiv numărul cu N până când partea fracțională ajunge la zero sau se obține numărul necesar de cifre. Dacă, în timpul înmulțirii, se obține un număr cu o parte întreagă, alta decât zero, atunci partea întreagă nu este luată în considerare în continuare, deoarece este introdusă succesiv în rezultat.

4. Convertiți numărul 0,125 10 în sistemul numeric binar.
Soluţie: 0,125·2 = 0,25 (0 este partea întreagă, care va deveni prima cifră a rezultatului), 0,25·2 = 0,5 (0 este a doua cifră a rezultatului), 0,5·2 = 1,0 (1 este a treia cifră a rezultatului și, deoarece partea fracțională este zero, atunci translația este finalizată).
Răspuns: 0.125 10 = 0.001 2

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.

  • Utilizare aceasta metoda 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.
  • Salut, vizitator site-ului! Continuăm să studiem protocolul stratul de rețea IP, sau 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 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 intelegere mai buna principiul 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, rar cineva știe să facă asta mental profesorii de diferite cursuri în retele de calculatoare, deoarece se confruntă cu asta în mod constant zi de 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. Numărul este caracter special a desemna, iar numărul este o notație abstractă care înseamnă 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 numere sau zece simboluri (0,1,2,3,4,5,6,7,8,9), prin combinarea cărora putem scrie numere diferite. 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 dificil 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 mult cale rapidă conversia unui 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 2 8. Pentru claritate, voi oferi un tabel.

    Nu mai avem nevoie, pentru că maxim număr 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 mare de 255, dar nu trebuie să le numără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 cele simple operatii aritmetice, apoi treceți la operațiile algebrei booleene.

    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 erau exemple simple unde a fost folosită o singură cifră, să ne uităm la exemple în care numărul de cifre este mai mare de unul.
    101+1101 în sistemul zecimal este 5 + 13 = 18. Să numărăm într-o coloană.

    Rezultatul este evidentiat portocale, 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 când 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 vine 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, atunci va fi mai convenabil dacă număr mai mare va fi 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, care acum trebuie adăugate și obțineți 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ă

    În algebra booleană există două foarte concepte importante: adevărat (adevărat) și fals (fals), echivalentul lor este zero și unu în sistemul numeric binar. Operatorii de algebră booleană extind cantitatea operatori disponibili deasupra acestor valori, să ne uităm la ele.

    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 unul numai dacă unul dintre operanzi egal cu unu, iar 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.

    • Serghei Savenkov

      un fel de recenzie „scurtă”... de parcă ne-am grăbi pe undeva