Informatica conversia numerelor in sistem binar. Numere binare, cifre și sistemul de numere binar. Conversia unui număr în binar din zecimal

2.3. Conversia numerelor dintr-un sistem numeric în altul

2.3.1. Conversia numerelor întregi dintr-un sistem numeric în altul

Este posibil să se formuleze un algoritm pentru conversia numerelor întregi dintr-un sistem radix p într-un sistem cu o bază q :

1. Exprimați baza noului sistem de numere cu numere din sistemul de numere original și efectuați toate acțiunile ulterioare în sistemul de numere original.

2. Împărțiți în mod consecvent numărul dat și coeficientii întregi rezultați la baza noului sistem de numere până când obținem un cât mai mic decât divizorul.

3. Resturile rezultate, care sunt cifre ale numărului în noul sistem de numere, sunt aduse în conformitate cu alfabetul noului sistem de numere.

4. Compuneți un număr în noul sistem numeric, notându-l pornind de la ultimul rest.

Exemplul 2.12. Convertiți numărul zecimal 173 10 în sistem de numere octale:

Se obține: 173 10 = 255 8

Exemplul 2.13. Convertiți numărul zecimal 173 10 în sistem numeric hexazecimal:

Se obține: 173 10 =AD 16.

Exemplul 2.14. Convertiți numărul zecimal 11 10 în sistemul numeric binar. Este mai convenabil să descriem secvența acțiunilor discutate mai sus (algoritm de traducere) după cum urmează:

Se obține: 11 10 =1011 2.

Exemplul 2.15. Uneori este mai convenabil să scrieți algoritmul de traducere sub formă de tabel. Să convertim numărul zecimal 363 10 într-un număr binar.

Divizor

Se obține: 363 10 =101101011 2

2.3.2. Conversia numerelor fracționale dintr-un sistem numeric în altul

Este posibil să se formuleze un algoritm pentru conversia unei fracții adecvate cu o bază p într-o fracție cu o bază q:

1. Exprimați baza noului sistem de numere cu numere din sistemul de numere original și efectuați toate acțiunile ulterioare în sistemul de numere original.

2. Înmulțiți în mod constant numerele date și părțile fracționale rezultate ale produselor cu baza noului sistem până când partea fracțională a produsului devine egală cu zero sau se obține acuratețea necesară a reprezentării numerelor.

3. Părțile întregi rezultate ale produselor, care sunt cifre ale numărului din noul sistem de numere, ar trebui aduse în conformitate cu alfabetul noului sistem de numere.

4. Compuneți partea fracționară a unui număr în noul sistem de numere, pornind de la partea întreagă a primului produs.

Exemplul 2.17. Convertiți numărul 0,65625 10 în sistemul de numere octale.

Se obține: 0,65625 10 =0,52 8

Exemplul 2.17. Convertiți numărul 0,65625 10 în sistem numeric hexazecimal.

X 16

Se obține: 0,65625 10 =0,A8 1

Exemplul 2.18. Convertiți fracția zecimală 0,5625 10 în sistemul numeric binar.

X 2

X 2

X 2

X 2

Se obține: 0,5625 10 =0,1001 2

Exemplul 2.19. Convertiți fracția zecimală 0,7 10 în sistemul numeric binar.

Evident, acest proces poate continua la nesfârșit, dând tot mai multe semne noi în imaginea echivalentului binar al numărului 0,7 10. Deci, în patru pași obținem numărul 0,1011 2, iar în șapte pași numărul 0,1011001 2, care este o reprezentare mai precisă a numărului 0,7 10 în sistemul numeric binar etc. Un astfel de proces fără sfârșit se încheie la un pas, când se crede că s-a obţinut acurateţea cerută a reprezentării numerelor.

2.3.3. Traducerea numerelor arbitrare

Traducerea numerelor arbitrare, de ex. numerele care conțin un număr întreg și o parte fracționară sunt efectuate în două etape. Partea întregă este translată separat, iar partea fracțională separat. În înregistrarea finală a numărului rezultat, partea întreagă este separată de partea fracțională printr-o virgulă (punct).

Exemplul 2.20. Convertiți numărul 17,25 10 în sistemul numeric binar.

Se obține: 17,25 10 =1001,01 2

Exemplul 2.21. Convertiți numărul 124,25 10 în sistem octal.

Se obține: 124,25 10 =174,2 8

2.3.4. Conversia numerelor din baza 2 în baza 2 n și invers

Traducerea numerelor întregi. Dacă baza sistemului numeric q-ary este o putere a lui 2, atunci conversia numerelor din sistemul numeric q-ary în sistemul numeric 2-ary și invers poate fi efectuată conform unor reguli mai simple. Pentru a scrie un număr binar întreg în sistemul numeric cu baza q=2 n, aveți nevoie de:

1. Împărțiți numărul binar de la dreapta la stânga în grupuri de n cifre fiecare.

2. Dacă ultimul grup din stânga are mai puțin de n cifre, atunci acesta trebuie completat în stânga cu zerouri până la numărul necesar de cifre.

Exemplul 2.22. Numărul 101100001000110010 2 va fi convertit în sistemul de numere octale.

Împărțim numărul de la dreapta la stânga în triade și sub fiecare dintre ele scriem cifra octală corespunzătoare:

Obținem reprezentarea octală a numărului original: 541062 8 .

Exemplul 2.23. Numărul 1000000000111110000111 2 va fi convertit în sistemul numeric hexazecimal.

Împărțim numărul de la dreapta la stânga în tetrade și sub fiecare dintre ele scriem cifra hexazecimală corespunzătoare:

Obținem reprezentarea hexazecimală a numărului original: 200F87 16.

Conversia numerelor fracționale. Pentru a scrie un număr binar fracționar într-un sistem numeric cu baza q=2 n, aveți nevoie de:

1. Împărțiți numărul binar de la stânga la dreapta în grupuri de n cifre fiecare.

2. Dacă ultimul grup din dreapta are mai puțin de n cifre, atunci acesta trebuie completat în dreapta cu zerouri la numărul necesar de cifre.

3. Considerați fiecare grup ca un număr binar de n biți și scrieți-l cu cifra corespunzătoare în sistemul numeric cu baza q=2 n.

Exemplul 2.24. Numărul 0,10110001 2 va fi convertit în sistemul de numere octale.

Împărțim numărul de la stânga la dreapta în triade și sub fiecare dintre ele scriem cifra octală corespunzătoare:

Obținem reprezentarea octală a numărului original: 0,542 8 .

Exemplul 2.25. Numărul 0,100000000011 2 va fi convertit în sistemul numeric hexazecimal. Împărțim numărul de la stânga la dreapta în tetrade și sub fiecare dintre ele scriem cifra hexazecimală corespunzătoare:

Obținem reprezentarea hexazecimală a numărului original: 0,803 16

Traducerea numerelor arbitrare. Pentru a scrie un număr binar arbitrar în sistemul numeric cu baza q=2 n, aveți nevoie de:

1. Împărțiți partea întreagă a unui număr binar dat de la dreapta la stânga și partea fracțională de la stânga la dreapta în grupuri de n cifre fiecare.

2. Dacă ultimele grupuri din stânga și/sau din dreapta au mai puțin de n cifre, atunci acestea trebuie completate în stânga și/sau în dreapta cu zerouri la numărul necesar de cifre;

3. Considerați fiecare grup ca un număr binar de n biți și scrieți-l cu cifra corespunzătoare în sistemul numeric cu baza q = 2 n

Exemplul 2.26. Să convertim numărul 111100101.0111 2 în sistemul de numere octale.

Împărțim părțile întregi și fracționale ale numărului în triade și sub fiecare dintre ele scriem cifra octală corespunzătoare:

Obținem reprezentarea octală a numărului original: 745,34 8 .

Exemplul 2.27. Numărul 11101001000,11010010 2 va fi convertit în sistemul numeric hexazecimal.

Împărțim părțile întregi și fracționale ale numărului în caiete și sub fiecare dintre ele scriem cifra hexazecimală corespunzătoare:

Obținem reprezentarea hexazecimală a numărului original: 748,D2 16.

Conversia numerelor din sisteme numerice cu baza q=2n la binar. Pentru a converti un număr arbitrar scris în sistemul numeric cu baza q=2 n în sistemul numeric binar, trebuie să înlocuiți fiecare cifră a acestui număr cu echivalentul său de n cifre în sistemul numeric binar.

Exemplul 2.28.Să convertim numărul hexazecimal 4AC35 16 în sistemul numeric binar.

Conform algoritmului:

Primim: 1001010110000110101 2 .

Sarcini pentru finalizare independentă (Răspunsuri)

2.38. Completați tabelul, în fiecare rând în care același număr întreg trebuie scris în sisteme numerice diferite.

Binar

Octal

Zecimal

hexazecimal

2.39. Completați tabelul, în fiecare rând în care același număr fracționar trebuie să fie scris în sisteme numerice diferite.

Binar

Octal

Zecimal

hexazecimal

2.40. Completați tabelul, în fiecare rând în care același număr arbitrar (numărul poate conține atât un număr întreg, cât și o parte fracțională) trebuie scris în sisteme numerice diferite.

Binar

Octal

Zecimal

hexazecimal

59.B

Î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 din zecimal în 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

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 conectează 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.
  • Salut, vizitator site-ului! Continuăm să studiem protocolul de nivel 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 este obligat să poată converti numerele din binar în zecimal și invers în capul său. Mai mult decât atât, rareori cineva știe cum să facă acest lucru mental; profesorii diferitelor cursuri pe rețele de calculatoare se încadrează în principal în această categorie, deoarece se confruntă cu asta în mod constant î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 î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 o putere sau alta, 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 sub-indici: 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.

    Aceasta nu este cea mai rapidă modalitate 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, de asemenea, 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 conversia 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 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 operații care pot fi efectuate pe numere 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; trebuie să îl scriem 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, acesta este a doua secvență 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, 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 una; î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.