Cum se convertesc online din octal în binar. Traducerea sistemelor numerice

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 sistemul 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. conversia adreselor IP din sistem zecimal va trebui sa faci calculele in binar pe o bucata de hartie, ș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ă asta mental; profesori 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 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 în care să convertim sistem binar, trebuie să împărțim acest număr la doi și să vedem care este restul împărțirii. Ș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 aceasta numar decimal se scrie ca un numar de unitati egal cu o putere de doua. 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 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 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, aceasta 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.

Scopul serviciului. Serviciul este conceput pentru a converti numerele dintr-un sistem de numere în altul online. Pentru a face acest lucru, selectați baza sistemului din care doriți să convertiți numărul. Puteți introduce atât numere întregi, cât și numere cu virgule.

Număr

Conversie din sistemul numeric 10 2 8 16. Convertiți în sistemul numeric 2 10 8 16.
Pentru numerele fracționale, folosiți 2 3 4 5 6 7 8 zecimale.

Puteți introduce atât numere întregi, de exemplu 34, cât și numere fracționale, de exemplu, 637,333. Pentru numerele fracționale, este indicată precizia translației după virgulă zecimală.

Următoarele sunt, de asemenea, utilizate cu acest calculator:

Modalități de a reprezenta numere

Binar numere (binare) - fiecare cifră înseamnă valoarea unui bit (0 sau 1), bitul cel mai semnificativ este întotdeauna scris în stânga, litera „b” este plasată după număr. Pentru ușurința percepției, caietele pot fi separate prin spații. De exemplu, 1010 0101b.
hexazecimal numere (hexazecimale) - fiecare tetradă este reprezentată de un simbol 0...9, A, B, ..., F. Această reprezentare poate fi desemnată în moduri diferite, aici doar simbolul „h” este folosit după ultimul hexazecimal cifră. De exemplu, A5h. În textele programelor, același număr poate fi desemnat fie 0xA5, fie 0A5h, în funcție de sintaxa limbajului de programare. În stânga celei mai semnificative cifre hexazecimale reprezentate de literă se adaugă un zero (0) înainte de a face distincția între numere și nume simbolice.
Zecimal numere (zecimale) - fiecare octet (cuvânt, cuvânt dublu) este reprezentat de un număr obișnuit, iar semnul de reprezentare zecimal (litera „d”) este de obicei omis. Octetul din exemplele anterioare are o valoare zecimală de 165. Spre deosebire de notația binară și hexazecimală, zecimală este dificil de determinat mental valoarea fiecărui bit, ceea ce uneori este necesar.
Octal numere (octale) - fiecare triplu de biți (diviziunea începe de la cel mai puțin semnificativ) este scris ca un număr 0–7, cu un „o” la sfârșit. Același număr ar fi scris ca 245o. Sistemul octal este incomod deoarece octetul nu poate fi împărțit în mod egal.

Algoritm pentru conversia numerelor dintr-un sistem numeric în altul

Conversia numerelor zecimale întregi în orice alt sistem de numere se realizează prin împărțirea numărului la bază sistem nou numerotarea până când restul rămâne un număr mai mic decât baza noului sistem de numere. Noul număr se scrie ca resturi de împărțire, începând de la ultimul.
Conversia unei fracții zecimale obișnuite într-un alt PSS se realizează prin înmulțirea doar a părții fracționale a numărului cu baza noului sistem numeric până când toate zerourile rămân în partea fracțională sau până când este atinsă precizia de translație specificată. În urma fiecărei operații de înmulțire, se formează o cifră a unui număr nou, începând cu cea mai mare.
Translația necorespunzătoare a fracțiilor se efectuează conform regulilor 1 și 2. Părțile întregi și fracționale sunt scrise împreună, separate prin virgulă.

Exemplul nr. 1.



Conversie de la 2 la 8 la 16 sistem de numere.
Aceste sisteme sunt multipli de doi, prin urmare traducerea se realizează folosind un tabel de corespondență (vezi mai jos).

Pentru a converti un număr din sistemul de numere binar în sistemul de numere octal (hexazecimal), este necesar să împărțiți numărul binar de la punctul zecimal la dreapta și la stânga în grupuri de trei (patru pentru hexazecimal) cifre, completând grupurile exterioare. cu zerouri dacă este necesar. Fiecare grup este înlocuit cu cifra octală sau hexazecimală corespunzătoare.

Exemplul nr. 2. 1010111010.1011 = 1.010.111.010.101.1 = 1272.51 8
aici 001=1; 010=2; 111=7; 010=2; 101=5; 001=1

Când convertiți la sistemul hexazecimal, trebuie să împărțiți numărul în părți de patru cifre, urmând aceleași reguli.
Exemplul nr. 3. 1010111010,1011 = 10.1011.1010,1011 = 2B12,13 HEX
aici 0010=2; 1011=B; 1010=12; 1011=13

Conversia numerelor de la 2, 8 și 16 în sistemul zecimal se realizează prin împărțirea numărului în unele individuale și înmulțirea acestuia cu baza sistemului (din care este tradus numărul) ridicată la puterea corespunzătoare numărului său de serie în numărul care este convertit. În acest caz, numerele sunt numerotate la stânga virgulei zecimale (primul număr este numerotat cu 0) cu creștere și la dreapta cu descreștere (adică cu semn negativ). Rezultatele obţinute se adună.

Exemplul nr. 4.
Un exemplu de conversie din sistem de numere binar în zecimal.

1010010.101 2 = 1·2 6 +0·2 5 +1·2 4 +0·2 3 +0·2 2 +1·2 1 +0·2 0 + 1·2 -1 +0·2 - 2 + 1 2 -3 =
= 64+0+16+0+0+2+0+0,5+0+0,125 = 82,625 10 Un exemplu de conversie din sistemul de numere octal în zecimal. 108,5 8 = 1*·8 2 +0·8 1 +8·8 0 + 5·8 -1 = 64+0+8+0,625 = 72,625 10 Un exemplu de conversie din sistemul numeric hexazecimal în zecimal. 108,5 16 = 1·16 2 +0·16 1 +8·16 0 + 5·16 -1 = 256+0+8+0,3125 = 264,3125 10

Încă o dată repetăm ​​algoritmul de conversie a numerelor dintr-un sistem numeric în altul PSS

  1. Din sistemul numeric zecimal:
    • împărțiți numărul la baza sistemului numeric care este tradus;
    • găsiți restul la împărțirea unei părți întregi a unui număr;
    • notează toate resturile din împărțire în ordine inversă;
  2. Din sistemul de numere binar
    • Pentru a converti în sistemul numeric zecimal, este necesar să găsiți suma produselor din baza 2 cu gradul corespunzător al cifrei;
    • Pentru a converti un număr în octal, trebuie să împărțiți numărul în triade.
      De exemplu, 1000110 = 1.000 110 = 106 8
    • Pentru a converti un număr din binar în hexazecimal, trebuie să împărțiți numărul în grupuri de 4 cifre.
      De exemplu, 1000110 = 100 0110 = 46 16
Sistemul se numește pozițional, pentru care semnificația sau greutatea unei cifre depinde de locația acesteia în număr. Relația dintre sisteme este exprimată într-un tabel.
Tabelul de corespondență al sistemului numeric:
SS binarSS hexazecimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Tabel pentru conversie în sistem octal socoteala

Să ne uităm la unul dintre cele mai importante subiecte din informatică -. În programa școlară, se dezvăluie mai degrabă „modest”, cel mai probabil din cauza lipsei de ore alocate acestuia. Cunoștințe pe această temă, în special pe traducerea sistemelor numerice, sunt o condiție prealabilă pentru promovarea cu succes a Examenului de stat unificat și admiterea la universități din facultățile relevante. Mai jos discutăm în detaliu concepte precum sisteme de numere poziționale și nepoziționale, sunt date exemple ale acestor sisteme de numere, sunt prezentate reguli pentru conversia numerelor zecimale întregi, fracțiilor zecimale adecvate și numerelor zecimale mixte în orice alt sistem de numere, conversia numerelor din orice sistem de numere în zecimal, conversia din sistemele de numere octale și hexazecimale în numere binar sistem. Există o mulțime de probleme pe această temă la examene. Capacitatea de a le rezolva este una dintre cerințele solicitanților. În curând: Pentru fiecare subiect al secțiunii, pe lângă materialul teoretic detaliat, aproape toate opțiuni posibile sarcini Pentru auto-studiu. În plus, veți avea posibilitatea de a descărca complet gratuit de la un serviciu de găzduire de fișiere soluții detaliate gata făcute la aceste probleme, ilustrând diferite căi obținerea răspunsului corect.

sisteme de numere poziționale.

Sisteme numerice non-poziționale- sisteme de numere în care valoarea cantitativă a unei cifre nu depinde de localizarea acesteia în număr.

Sistemele numerice non-poziționale includ, de exemplu, romanul, unde în loc de numere există litere latine.

eu 1 unu)
V 5 (cinci)
X 10 (zece)
L 50 (cincizeci)
C 100 (o sută)
D 500 (cinci sute)
M 1000 (mii)

Aici litera V reprezintă 5, indiferent de locația sa. Cu toate acestea, merită menționat faptul că, deși sistemul numeric roman este un exemplu clasic de sistem de numere non-pozițional, acesta nu este complet non-pozițional, deoarece Din acesta se scade numărul mai mic din fața celui mai mare:

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

sisteme de numere poziționale.

Sisteme numerice poziționale- sisteme de numere în care valoarea cantitativă a unei cifre depinde de localizarea acesteia în număr.

De exemplu, dacă vorbim despre sistemul numeric zecimal, atunci în numărul 700 numărul 7 înseamnă „șapte sute”, dar același număr din numărul 71 înseamnă „șapte zeci”, iar în numărul 7020 - „șapte mii” .

Fiecare sistem de numere poziționale are propria baza. Un număr natural mai mare sau egal cu doi este ales ca bază. Este egal cu numărul de cifre utilizate într-un anumit sistem numeric.

    De exemplu:
  • Binar- sistem de numere poziționale cu baza 2.
  • Cuaternar- sistem de numere pozițional cu baza 4.
  • De cinci ori- sistem de numere pozițional cu baza 5.
  • Octal- sistem de numere pozițional cu baza 8.
  • hexazecimal- sistem de numere poziționale cu baza 16.

Pentru a rezolva cu succes probleme la tema „Sisteme numerice”, elevul trebuie să cunoască pe de rost corespondența numerelor binare, zecimale, octale și hexazecimale până la 16 10:

10 s/s 2 s/s 8 s/s 16 s/s
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

Este util să știm cum se obțin numerele în aceste sisteme numerice. Puteți ghici că în octal, hexazecimal, ternar și altele sisteme poziționale socoteala totul se întâmplă în același mod ca sistemul zecimal cu care suntem obișnuiți:

Se adaugă unul la număr și se obține un nou număr. Dacă locul unităților devine egal cu baza sistemului numeric, creștem numărul zecilor cu 1 etc.

Această „tranziție a unuia” este ceea ce îi sperie pe majoritatea studenților. De fapt, totul este destul de simplu. Tranziția are loc dacă cifra unităților devine egală cu baza numerelor, creștem numărul zecilor cu 1. Mulți, amintindu-și vechiul sistem zecimal bun, sunt instantaneu confuzi cu privire la cifrele din această tranziție, deoarece zecimile zecimale și, de exemplu, zecile binare sunt lucruri diferite.

Prin urmare, elevii plini de resurse își dezvoltă „propriile metode” (în mod surprinzător... lucrând) atunci când completează, de exemplu, tabele de adevăr, primele coloane (valori variabile) ale cărora sunt, de fapt, umplute cu numere binare în ordine crescătoare.

De exemplu, să ne uităm la introducerea numerelor sistem octal: Adăugăm 1 la primul număr (0), obținem 1. Apoi adăugăm 1 la 1, obținem 2 etc. la 7. Dacă adunăm unu la 7, obținem un număr egal cu baza sistemului numeric, adică. 8. Apoi trebuie să măriți locul zecilor cu unul (obținem zece octal - 10). Urmează, evident, numerele 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101...

Reguli pentru conversia de la un sistem numeric la altul.

1 Conversia numerelor zecimale întregi în orice alt sistem de numere.

Numărul trebuie împărțit la noua bază a sistemului de numere. Primul rest al diviziunii este prima cifră minoră a noului număr. Dacă câtul împărțirii este mai mic sau egal cu noua bază, atunci acesta (coeficientul) trebuie împărțit din nou la noua bază. Împărțirea trebuie continuată până când obținem un coeficient mai mic decât noua bază. Aceasta este cea mai mare cifră a noului număr (trebuie să vă amintiți că, de exemplu, în sistemul hexazecimal, după 9 există litere, adică dacă restul este 11, trebuie să îl scrieți ca B).

Exemplu („împărțire după colț”): Să transformăm numărul 173 10 în sistemul numeric octal.


Astfel, 173 10 =255 8

2 Conversia fracțiilor zecimale regulate în orice alt sistem numeric.

Numărul trebuie înmulțit cu noul sistem de numere de bază. Cifra care a devenit parte întreagă este cea mai mare cifră a părții fracționale a noului număr. pentru a obține următoarea cifră, partea fracțională a produsului rezultat trebuie din nou înmulțită cu o nouă bază a sistemului numeric până când are loc tranziția la întreaga parte. Continuăm înmulțirea până când partea fracțională este egală cu zero sau până când ajungem la precizia specificată în problemă („... calculați cu o precizie de, de exemplu, două zecimale”).

Exemplu: Să transformăm numărul 0,65625 10 în sistemul de numere octale.

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 de litere latine până la urmă). Lungimea numerelor nu trebuie să depășească 30 de caractere. Pentru a introduce numere fracționale, utilizați simbolul. sau, . Pentru a converti un număr dintr-un sistem în altul, introduceți numărul inițial în primul câmp, baza sistemului de numere original î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: 1237200

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 sistemele 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 numărul zecimal real 1234,567. Să-l numerotăm începând de la poziția zero a numărului de la punctul 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ă convertirea mai întâi a 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 solduri va arăta astfel: 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

Luați în considerare translația fracțiilor zecimale adecvate în diverse sisteme Socoteala.

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ă număr 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ă înmulțirea are ca rezultat un număr cu o parte întreagă diferită de zero, atunci întreaga parte nu este luată în considerare în continuare, deoarece este introdusă secvenţial î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

Cei care susțin examenul de stat unificat și multe altele...

Este ciudat că în lecțiile de informatică din școli, de obicei, le arată elevilor cel mai complex și incomod mod de a converti numerele dintr-un sistem în altul. Această metodă constă în împărțirea succesivă a numărului inițial la bază și colectarea resturilor din împărțire în ordine inversă.

De exemplu, trebuie să convertiți numărul 810 10 în binar:

Scriem rezultatul în ordine inversă de jos în sus. Se dovedește că 81010 = 11001010102

Dacă trebuie să convertiți numere destul de mari în sistem binar, atunci scara de diviziune capătă dimensiunea unei clădiri cu mai multe etaje. Și cum poți aduna toate cele și zerourile și să nu ratezi niciunul?

ÎN Programul de examen de stat unificatîn informatică include mai multe sarcini legate de traducerea numerelor dintr-un sistem în altul. De obicei, aceasta este o conversie între sistemele octal și hexazecimal și binar. Acestea sunt secțiunile A1, B11. Dar există și probleme cu alte sisteme numerice, cum ar fi în secțiunea B7.

Pentru început, să ne amintim două tabele pe care ar fi bine să le cunoaștem pe de rost pentru cei care aleg informatica ca profesie viitoare.

Tabelul puterilor numărului 2:

2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10
2 4 8 16 32 64 128 256 512 1024

Se obține cu ușurință prin înmulțirea numărului anterior cu 2. Deci, dacă nu vă amintiți toate aceste numere, restul nu sunt greu de obținut în minte din cele pe care le amintiți.

Tabel de numere binare de la 0 la 15 cu reprezentare hexazecimală:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F

Valorile lipsă sunt, de asemenea, ușor de calculat adăugând 1 la valorile cunoscute.

Conversie intreg

Deci, să începem prin a converti direct în sistemul binar. Să luăm același număr 810 10. Trebuie să descompunăm acest număr în termeni egali cu puterile a doi.

  1. Căutăm puterea celor două cele mai apropiate de 810 și să nu o depășească. Acesta este 2 9 = 512.
  2. Scădeți 512 din 810, obținem 298.
  3. Repetați pașii 1 și 2 până când nu mai rămân 1 sau 0.
  4. Am prins așa: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
Apoi, există două metode, puteți utiliza oricare dintre ele. Cât de ușor este să vezi că în orice sistem numeric baza sa este întotdeauna 10. Pătratul bazei va fi întotdeauna 100, cubul 1000. Adică, gradul bazei sistemului numeric este 1 (unul) și sunt tot atâtea zerouri în spate câte este gradul.

Metoda 1: Aranjați 1 în funcție de rangurile indicatorilor termenilor. În exemplul nostru, acestea sunt 9, 8, 5, 3 și 1. Locurile rămase vor conține zerouri. Deci, am obținut reprezentarea binară a numărului 810 10 = 1100101010 2. Unitățile sunt plasate pe locurile 9, 8, 5, 3 și 1, numărând de la dreapta la stânga de la zero.

Metoda 2: Să scriem termenii ca puteri a doi unul sub celălalt, începând cu cel mai mare.

810 =

Acum să adăugăm acești pași împreună, cum ar fi plierea unui evantai: 1100101010.

Asta e tot. În același timp, problema „câte unități sunt în notația binară a numărului 810?” este, de asemenea, rezolvată simplu.

Răspunsul este atâția termeni (puteri a doi) în această reprezentare. 810 are 5 dintre ele.

Acum exemplul este mai simplu.

Să transformăm numărul 63 în sistemul numeric 5-ari. Cea mai apropiată putere de la 5 la 63 este 25 (pătratul 5). Un cub (125) va fi deja mult. Adică 63 se află între pătratul lui 5 și cub. Apoi vom selecta coeficientul pentru 5 2. Acesta este 2.

Se obține 63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5.

Și, în sfârșit, traduceri foarte ușoare între sistemele 8 și hexazecimale. Deoarece baza lor este o putere de doi, traducerea se face automat, pur și simplu prin înlocuirea numerelor cu reprezentarea lor binară. Pentru sistemul octal, fiecare cifră este înlocuită cu trei cifre binare, iar pentru sistemul hexazecimal, patru. În acest caz, sunt necesare toate zerourile înainte, cu excepția cifrei celei mai semnificative.

Să convertim numărul 547 8 în binar.

547 8 = 101 100 111
5 4 7

Încă unul, de exemplu 7D6A 16.

7D6A 16 = (0)111 1101 0110 1010
7 D 6 A

Să convertim numărul 7368 în sistemul hexazecimal.Mai întâi, scrieți numerele în triplete, apoi împărțiți-le în cvadruple de la sfârșit: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16. Să convertim numărul C25 16 în sistemul octal. Mai întâi, scriem numerele în patru, apoi le împărțim în trei de la sfârșit: C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8. Acum să ne uităm la conversia înapoi în zecimală. Nu este dificil, principalul lucru este să nu faci greșeli în calcule. Extindem numărul într-un polinom cu puteri ale bazei și coeficienți pentru ei. Apoi înmulțim și adăugăm totul. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 = 7 * 8 2 + 3*8 + 2 = 474 .

Conversia numerelor negative

Aici trebuie să țineți cont de faptul că numărul va fi prezentat în cod suplimentar. Pentru a converti un număr în cod suplimentar, trebuie să știți dimensiunea finală a numărului, adică în ce vrem să-l încadram - într-un octet, în doi octeți, în patru. Cea mai semnificativă cifră a unui număr înseamnă semnul. Dacă există 0, atunci numărul este pozitiv, dacă 1, atunci este negativ. În stânga, numărul este completat cu o cifră semn. Nu luăm în considerare numerele fără semn, ele sunt întotdeauna pozitive, iar bitul cel mai semnificativ din ele este folosit ca informație.

Pentru a converti un număr negativ în complement binar, trebuie să convertiți un număr pozitiv în binar, apoi schimbați zerourile în unu și cele în zerouri. Apoi adăugați 1 la rezultat.

Deci, să convertim numărul -79 în sistemul binar. Numărul ne va lua un octet.

Convertim 79 în sistemul binar, 79 = 1001111. Adăugăm zerouri în stânga la dimensiunea octetului, 8 biți, obținem 01001111. Schimbăm 1 la 0 și 0 la 1. Obținem 10110000. Adăugăm 1 la rezultat, obținem răspunsul 10110001. Pe parcurs, răspundem la întrebarea Examenului de stat unificat „câte unități sunt în reprezentarea binară a numărului -79?” Raspunsul este 4.

Adăugarea lui 1 la inversul unui număr elimină diferența dintre reprezentările +0 = 00000000 și -0 = 11111111. În codul de complement a doi vor fi scrise la fel ca 00000000.

Conversia numerelor fracționale

Numerele fracționale sunt convertite în modul invers al împărțirii numerelor întregi la bază, la care ne-am uitat chiar de la început. Adică, folosind înmulțirea secvențială cu o nouă bază cu colecția de părți întregi. Părțile întregi obținute în timpul înmulțirii sunt colectate, dar nu participă la următoarele operații. Se înmulțesc doar fracțiile. Dacă numărul inițial este mai mare decât 1, atunci părțile întregi și fracționale sunt translatate separat și apoi lipite împreună.

Să transformăm numărul 0,6752 în sistemul binar.

0 ,6752
*2
1 ,3504
*2
0 ,7008
*2
1 ,4016
*2
0 ,8032
*2
1 ,6064
*2
1 ,2128

Procesul poate fi continuat pentru o lungă perioadă de timp până când obținem toate zerourile din partea fracțională sau se obține precizia necesară. Să ne oprim la al 6-lea semn deocamdată.

Se dovedește că 0,6752 = 0,101011.

Dacă numărul a fost 5,6752, atunci în binar va fi 101,101011.

Acțiune