Sisteme numerice și reprezentare binară a informațiilor în memoria computerului. Criptografia: Cum contează computerul

Cu ajutorul acestuia calculator online Puteți converti numere întregi și fracționale dintr-un sistem numeric în altul. Se oferă o soluție detaliată cu explicații. Pentru a traduce, introduceți numărul inițial, setați baza sistemului numeric al numărului original, setați baza sistemului numeric la care doriți să convertiți numărul și faceți clic pe butonul „Traduceți”. Vezi mai jos partea teoretică și exemple numerice.

Rezultatul a fost deja primit!

Traducerea numerelor întregi și fracționale dintr-un sistem de numere în oricare altul - teorie, exemple și soluții

Există sisteme numerice poziționale și nepoziționale. Sistemul de numere arabe pe care îl folosim în viața de zi cu zi este pozițional, în timp ce cel roman nu este. În sistemele de numere poziționale, poziția unui număr determină în mod unic mărimea numărului. Luați în considerare acest lucru folosind exemplul numărului 6372 din sistemul numeric zecimal. Să numerotăm acest număr de la dreapta la stânga începând de la zero:

Atunci numărul 6372 poate fi reprezentat astfel:

6372=6000+300+70+2 =6 10 3 +3 10 2 +7 10 1 +2 10 0 .

Numărul 10 definește sistemul numeric (în acest caz este 10). Valorile poziției numărului dat sunt luate ca grade.

Luați în considerare numărul zecimal real 1287,923. Îl numerotăm începând de la poziția zero a numărului de la virgulă zecimală la stânga și la dreapta:

Atunci numărul 1287.923 poate fi reprezentat ca:

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1 10 3 +2 10 2 +8 10 1 +7 10 0 +9 10 -1 +2 10 -2 +3 10 -3 .

În general, formula poate fi reprezentată după cum urmează:

C n s n + C n-1 s n-1 +...+C 1 s 1 + C 0 s 0 + D -1 s -1 + D -2 s -2 + ... + D -k s -k

unde C n este un număr întreg în poziție n, D -k - număr fracționar în poziția (-k), s- sistemul de numere.

Câteva cuvinte despre sistemele numerice.Un număr în sistemul numeric zecimal este format dintr-un set de cifre (0,1,2,3,4,5,6,7,8,9), în sistemul numeric octal este format din un set de cifre (0,1, 2,3,4,5,6,7), in sistem binar numerotare - dintr-un set de cifre (0,1), în sistemul numeric hexazecimal - dintr-un set de cifre (0,1,2,3,4,5,6,7,8,9,A,B,C ,D,E, F), unde A,B,C,D,E,F corespund numerelor 10,11,12,13,14,15. sisteme diferite socoteala.

tabelul 1
Notaţie
10 2 8 16
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

Conversia numerelor dintr-un sistem numeric în altul

Pentru a traduce numerele dintr-un sistem numeric în altul, cel mai simplu mod este să convertiți mai întâi numărul în sistemul numeric zecimal, apoi, din sistemul numeric zecimal, să îl traduceți în sistemul numeric necesar.

Conversia numerelor din orice sistem numeric în sistem numeric zecimal

Folosind formula (1), puteți converti numerele din orice sistem numeric în sistemul numeric zecimal.

Exemplu 1. Convertiți numărul 1011101.001 din sistemul numeric binar (SS) în SS zecimal. Decizie:

1 2 6 +0 2 5 + 1 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 0 2 -1 + 0 2 -2 + 1 2 -3 =64+16+8+4+1+1/8=93,125

Exemplu2. Convertiți numărul 1011101.001 din sistemul de numere octale (SS) în SS zecimal. Decizie:

Exemplu 3 . Convertiți numărul AB572.CDF din hexazecimal în zecimal SS. Decizie:

Aici A-inlocuit cu 10, B- la 11, C- la 12, F- la 15.

Conversia numerelor dintr-un sistem numeric zecimal în alt sistem numeric

Pentru a converti numerele dintr-un sistem de numere zecimal într-un alt sistem de numere, trebuie să traduceți separat partea întreagă a numărului și partea fracțională a numărului.

Partea întreagă a numărului este tradusă din SS zecimal într-un alt sistem de numere - prin împărțirea succesivă a părții întregi a numărului la baza sistemului de numere (pentru SS binar - cu 2, pentru SS cu 8 cifre - cu 8 , pentru 16 cifre - cu 16 etc. ) pentru a obține un rest întreg, mai mic decât baza SS.

Exemplu 4 . Să traducem numărul 159 din SS zecimal în SS binar:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

După cum se poate observa din fig. 1, numărul 159, când este împărțit la 2, dă câtul 79, iar restul este 1. În plus, numărul 79, când este împărțit la 2, dă câtul 39 și restul este 1 și așa mai departe. Ca rezultat, construind un număr din restul diviziunii (de la dreapta la stânga), obținem un număr în SS binar: 10011111 . Prin urmare, putem scrie:

159 10 =10011111 2 .

Exemplu 5 . Să convertim numărul 615 din SS zecimal în SS octal.

615 8
608 76 8
7 72 9 8
4 8 1
1

Când convertiți un număr din SS zecimal în SS octal, trebuie să împărțiți succesiv numărul la 8 până când obțineți un rest întreg mai mic de 8. Ca rezultat, construind un număr din restul diviziunii (de la dreapta la stânga) obțineți un număr în SS octal: 1147 (vezi Fig. 2). Prin urmare, putem scrie:

615 10 =1147 8 .

Exemplu 6 . Să traducem numărul 19673 din sistemul numeric zecimal în SS hexazecimal.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

După cum se poate observa din figura 3, împărțind succesiv numărul 19673 la 16, am obținut resturile 4, 12, 13, 9. În sistemul numeric hexazecimal, numărul 12 corespunde lui C, numărul 13 - D. Prin urmare, numărul nostru hexazecimal este 4CD9.

Pentru a converti fracțiile zecimale corecte (un număr real cu o parte întreagă zero) într-un sistem numeric cu baza s, acest număr trebuie înmulțit succesiv cu s până când partea fracțională este zero pur sau obținem numărul necesar de cifre. Dacă înmulțirea are ca rezultat un număr cu o parte întreagă, alta decât zero, atunci această parte întreagă nu este luată în considerare (se adaugă succesiv la rezultat).

Să ne uităm la cele de mai sus cu exemple.

Exemplu 7 . Să traducem numărul 0,214 din sistemul numeric zecimal în SS binar.

0.214
X 2
0 0.428
X 2
0 0.856
X 2
1 0.712
X 2
1 0.424
X 2
0 0.848
X 2
1 0.696
X 2
1 0.392

După cum se poate vedea din Fig.4, numărul 0,214 este înmulțit succesiv cu 2. Dacă rezultatul înmulțirii este un număr cu o parte întreagă alta decât zero, atunci partea întreagă este scrisă separat (în stânga numărului), iar numărul este scris cu o parte întreagă zero. Dacă, atunci când este înmulțit, se obține un număr cu o parte întreagă zero, atunci zero este scris în stânga acestuia. Procesul de înmulțire continuă până când se obține un zero pur în partea fracțională sau se obține numărul necesar de cifre. Scriind numere îngroșate (Fig. 4) de sus în jos, obținem numărul necesar în sistemul binar: 0. 0011011 .

Prin urmare, putem scrie:

0.214 10 =0.0011011 2 .

Exemplu 8 . Să traducem numărul 0,125 din sistemul numeric zecimal în SS binar.

0.125
X 2
0 0.25
X 2
0 0.5
X 2
1 0.0

Pentru a converti numărul 0,125 din zecimal SS în binar, acest număr este înmulțit succesiv cu 2. În a treia etapă s-a obținut 0. Prin urmare, s-a obținut următorul rezultat:

0.125 10 =0.001 2 .

Exemplu 9 . Să traducem numărul 0,214 din sistemul numeric zecimal în SS hexazecimal.

0.214
X 16
3 0.424
X 16
6 0.784
X 16
12 0.544
X 16
8 0.704
X 16
11 0.264
X 16
4 0.224

Urmând exemplele 4 și 5, obținem numerele 3, 6, 12, 8, 11, 4. Dar în SS hexazecimal, numerele C și B corespund numerelor 12 și 11. Prin urmare, avem:

0,214 10 = 0,36C8B4 16 .

Exemplu 10 . Să traducem numărul 0,512 din sistemul numeric zecimal în SS octal.

0.512
X 8
4 0.096
X 8
0 0.768
X 8
6 0.144
X 8
1 0.152
X 8
1 0.216
X 8
1 0.728

A primit:

0.512 10 =0.406111 8 .

Exemplu 11 . Să traducem numărul 159,125 din sistemul numeric zecimal în SS binar. Pentru a face acest lucru, traducem separat partea întreagă a numărului (Exemplul 4) și partea fracțională a numărului (Exemplul 8). Combinând aceste rezultate, obținem:

159.125 10 =10011111.001 2 .

Exemplu 12 . Să traducem numărul 19673.214 din sistemul numeric zecimal în SS hexazecimal. Pentru a face acest lucru, traducem separat partea întreagă a numărului (Exemplul 6) și partea fracțională a numărului (Exemplul 9). Combinând în continuare aceste rezultate, obținem.

Răspuns: 3). Rezolvare: Cel mai semnificativ bit al echivalentului binar al lui 83 este 6, deoarece 2 6 =64. Aceasta este puterea maximă a doi care este mai mică decât numărul dat. 83-64=19, deci următoarea unitate este în a 4-a cifră. 19-16= 3. 3-2=1, acesta este în cifra zero, iar numărul 2 este unul în prima cifră. Astfel, cele sunt în 0, 1, 4, 6 cifre, în restul cifre - zerouri. Primim 1010011 2

Calculați suma numere binare Xși y, dacă

X=1010101 2

Răspuns: 2). Rezolvare: Amintiți-vă că 1 2 +1 2 =10 2 , deci 1010101 2

Răspuns: 3, 7, 21.

Varianta 2006


Numărul de zerouri semnificative în reprezentarea binară a numărului zecimal 126 este

Răspuns: 4). Rezolvare: x = 1D 16 = 11101 2 , y = 111010 2 11101 2

B1


Într-un sistem numeric cu o anumită bază, numărul 17 este scris ca 101. Specificați această bază.

Raspuns: baza=4. Rezolvare: 17:4=4, rest 1, 4:4=1, rest 0. scrieți ultimul coeficient și toate resturile în ordine inversă. Primim 101

Varianta 2007

A4


Câte sunt în notație binară pentru numărul 195?

Răspuns: 3). Rezolvare: 10 8 \u003d 1000 2, 1000 2 10 2 \u003d 10000 2, 10 16 \u003d 10000 2 Ca rezultat al adunării, 10000 2 + 10000 2 \u0000 2 \u0003

Sau traducem expresia 10 16 + 10 8 10 2 în sistemul numeric zecimal. obține

16 + 8 2 \u003d 16 + 16 + 32 \u003d 100000 2

B1


Indicați, despărțite prin virgule, în ordine crescătoare, toate bazele sistemelor numerice în care introducerea numărului 22 se termină cu 4.

Răspuns: 6, 9, 18. Soluție: Pentru a converti un număr dintr-un sistem numeric zecimal în oricare altul, trebuie să împărțiți acest număr la un număr întreg la baza sistemului numeric dorit. La prima diviziune, obținem ultima cifră a numărului dorit din restul diviziunii întregi. 4 în rest se obține prin împărțirea numărului 22 la 6, 9, 18.

Varianta 2008

A4 Câte unități sunt în reprezentarea binară a numărului zecimal 194,5?

1) 5 2) 6 3) 3 4) 4

Răspuns: 4). Decizie: Partea întreagă a numărului. Cel mai semnificativ bit al echivalentului binar al lui 194 este 7, deoarece 2 7 =128. Aceasta este puterea maximă a doi care este mai mică decât numărul dat. 194-128=66, ceea ce înseamnă că următoarea unitate este în a 6-a cifră. 66-64 \u003d 2, aceasta este o unitate - în prima cifră, Astfel, în partea întreagă a numărului, cele sunt în 1, 6, 7 cifre, în cifrele rămase - zerouri. Obținem 11000010 2 . Fracțiune numărul zecimal 0,5 este 0,1 2 , deoarece cel binar din -1 cifră este 2 -1 zecimală, adică 0,5. Obținem 194,5 = 11000010,1 2

Cum se transformă fracția zecimală corectă în orice alt sistem de numere pozițional?

Pentru a traduce fracția zecimală corectă F la sistemul de numere de bază q necesar Fînmulțit cu q, scris în același sistem zecimal, apoi înmulțiți partea fracționară a produsului rezultat cu q, etc., până când partea fracțională a următorului produs devine egală cu zero sau se atinge precizia necesară reprezentării numărului Fîn q sistem -ary. Reprezentarea părții fracționale a unui număr Fîn sistem nou socoteala va fi o succesiune de părți întregi din lucrările primite, scrise în ordinea în care au fost primite și descrise într-o singură. q-cifră ară. În cazul în care exactitatea traducerii cerută a numărului F este k zecimale, atunci eroarea absolută limită este egală cu q -(k+1) / 2.


A5 Calculați suma numerelor X și y, la X = A6 16 , y = 75 8 .

Prezentați rezultatul în sistemul de numere binar.

Răspuns: 3). Decizie: X = A6 16 = 10100110 2 , y = 75 8 = 111101 2 10100110 2

B1 Indicați, separate prin virgule, în ordine crescătoare, toate bazele sistemelor numerice în care înscrierea pentru numărul 23 se termină cu 2.

Răspuns: 3, 7, 21. Soluție: Pentru a converti un număr dintr-un sistem numeric zecimal în oricare altul, trebuie să împărțiți acest număr la un număr întreg la baza sistemului numeric dorit. La prima diviziune, obținem ultima cifră a numărului dorit din restul diviziunii întregi. Doi în rest se obține prin împărțirea numărului 23 la 3, 7, 21.

Varianta 2009

A3 Dat fiind a=D7 16 , b=331 8 . Care dintre numere cu, scris în sistem binar, îndeplinește condiția A< c< b?

1) 11011001 2) 11011100 3) 11010111 4) 11011000

Răspuns: 4). Rezolvare: a = 11010111 2

Cele mai semnificative patru cifre dintre toate opțiunile de răspuns și numerele Ași b sunt aceleași, așa că vom compara suma greutăților celor patru cifre inferioare. Este pentru A – 7 10 , pentru b- 9 10 , căutăm un răspuns cu numărul 8 10 în cele 4 cifre cel mai puțin semnificative. Acesta este 1000 2 , adică al 4-lea răspuns.

A4 Care este suma numerelor 43 8 și 56 16?

1) 121 8 2) 171 8 3) 69 16 4) 1000001 2

Răspuns: 2). Decizie:

43 8 = 100011 2 56 16 = 1010110 2 1010110

1111001 2 = 171 8

B3 Specificați toate numerele zecimale separate prin virgule în ordine crescătoare, fara sa depaseasca 25, a cărui notație în sistemul numeric de bază patru se termină cu 11.

Răspuns: 5, 21 Rezolvare: Printre numere zecimale> 4 și<25 остаток 1 când este împărțit la 4 (ultima cifră a unui număr dintr-un sistem numeric cu baza 4) numai pentru numerele 5, 9, 13, 17, 21. Ultimele două cifre 11 împărțirea doar cu 4 - numai pentru număr 5 (restul 1 si coeficientul 1) si numarul 21 (primul și al doilea rest = 1, adică ultimele două cifre)

Sau mai usor:

11 4 = 4 1 + 4 0 = 5

111 4 = 4 2 + 5 = 21

1011 4 = 4 3 + 21 > 25

Varianta 2010

A1

Raspuns: 2) Rezolvare: a = 10011101 2

Se poate observa că numărul 4) nu este potrivit, este mai mare decât b, mai mare decât a și mai mic decât b numai numărul 2)

A4

Calculați suma numerelor X și Y dacă

Exprimați rezultatul în formă binară.

Raspuns: 4) Rezolvare: X=110111 2 = 67 8

X + Y \u003d 67 8 +135 8 \u003d 224 8 \u003d 10010100 2

A11

Pentru transmiterea printr-un canal de comunicație a unui mesaj format numai din simbolurile A, B, C și G, se utilizează codarea caracter cu caracter: A-00, B-11, B-010, G-011. Un mesaj este transmis prin canalul de comunicare: WAGBGV. Codați mesajul cu acest cod. Convertiți secvența binară rezultată în hexazecimal.

Subiect: Sisteme numerice și reprezentare binară informații din memoria computerului.

Teorie:

Algoritm pentru conversia numerelor între sisteme numerice zecimal, binar, octal și hexazecimal

Reprezentarea numerelor întregi negative în memorie în complement a doi:
1 cale:

1. convertiți numărul în sistem de numere binar,

2. inversați biții: schimbați zerourile în unu și unii în zerouri în grila de biți,

3. adaugă 1 la rezultat, deplasând 1 la următoarea cifră în cazul a 2 unități.

2 moduri:

1. reduceți numărul cu 1 și convertiți numărul în sistemul de numere binar,

2. face un pic invers.

Reguli pentru reprezentarea numerelor în sistemul binar:

1. numerele pare se termină cu 0, numerele impare se termină cu 1;

2. numerele care sunt divizibile cu 4 se termină cu 00 etc.; numerele care sunt divizibile cu 2k se termină în k zerouri

3. dacă numărul N aparţine intervalului 2k-1 £ N< 2k, в его двоичной записи будет всего k cifre, de exemplu, pentru un număr 125 :

i. 26 = 64 GBP 125 < 128 = 27, 125 = 11111цифр)

4. numerele de forma 2k se scriu în sistemul binar ca unitate și k zerouri, de exemplu:

5. 16 = 24 = 100002

6. numere precum 2k-1 sunt scrise în sistem binar k unități, de exemplu:

7. 15 = 24-1 = 11112

dacă notația binară a numărului N este cunoscută, atunci notația binară a numărului 2 N poate fi obținută cu ușurință prin adăugarea zero la sfârșit, de exemplu:
15 = 11112, 30 = 60 = 1 120 =

I. Sisteme numerice. A1_1.

1) Cum este reprezentat numărul 8310 în binar?

1) 100103) 10100

Rezolvare (opțiunea 1, împărțirea la baza sistemului numericN):

2) împărțiți succesiv numărul 83 la 2 = z 3.

Soluție (opțiunea 2, extinderea în suma puterilor a două):

1) reprezintă numărul ca sumă a puterilor a două: 83 = 64 + 16 + 2 + 1 = 26 + 24 + 21 + 20 Þ 3.

2) Cum este reprezentat numărul 25 în sistemul binar?

3) Cum este reprezentat numărul 82 în sistemul binar?

4) Cum este reprezentat numărul 263 în sistemul de numere octale?

5) Cum se scrie numărul 5678 în sistemul binar?

6) Cum este scris numărul A8716 în sistemul de numere octale?

7) Cum se scrie numărul 7548 în hexazecimal?

1) 73AEC16 4) A5616

II. Câte unități (sistem binar). A1_2.

1) Câte sunt în notație binară pentru numărul 1025?

Opțiunea 1, traducere directă:

1) traduceți numărul 1025 în sistemul binar: 1025 =

2) numărați „1” Þ 2.

Opțiunea 2, extinderea în suma puterilor a două:

1) reprezintă numărul ca sumă a puterilor a două: 1025 = 1024 + 1 = 210 + 20,

2) câte puteri diferite a doi sunt în sumă - atâtea „1” Þ 2.

2) Câte sunt în reprezentarea binară a numărului 195?

3) Câte sunt în reprezentarea binară a numărului 173?

4) Câte sunt în reprezentarea binară a numărului 64?

5) Câte sunt în reprezentarea binară a numărului 127?

6) Câte zerouri semnificative sunt în reprezentarea binară a numărului 48?

7) Câte zerouri semnificative sunt în reprezentarea binară a numărului 254?

III. Relaţii. A1_3.

1) Dat : și . Care dintre numere, scris în sistem binar, satisface inegalitate A < c < b ?

1) 110110

Decizie:

1. convertiți toate numerele în același sistem de numere și comparați,

2. alegerea sistemului de numere -

A. operațiuni minime de transfer,

b. ușurința analizei numerelor primite (2)

Opțiunea 1 - sistem zecimal:

3) = 217, 2= 220, = 215, =216

4) răspunsul corect este 216 Þ - 4.

Opțiunea 2 - sistem binar:

1) (fiecare cifră hexazecimală separat convertit în patru binare tetradă, zerourile de început pot fi omise);

2) (fiecare cifră octală separat convertit în trei binare triadă , zerourile de început pot fi omise);

3) analizăm numărul bit cu bit de la cea mai semnificativă la cea mai puțin semnificativă cifră, selectăm diferitele părți ale numărului br = 10012, ar = 01112, de unde numărul cuprins între - 1000, răspunsul corect este Þ 4.

Opțiunea 3 - octal/hexazecimal:

1) pentru a 8-a - trebuie să cunoașteți notația binară a numerelor de la 0 la 7, împărțim notația binară a numărului în triade de la dreapta la stânga, traducem fiecare triadă separat la sistemul zecimal;

2) pentru al 16-lea - trebuie să cunoașteți notația binară a numerelor de la 8 la 15, împărțim notația binară a numărului în tetrade de la dreapta la stânga, traducem fiecare tetradă într-un sistem hexazecimal; în timp ce tetradele pot fi convertite din sistemul binar în zecimal,și apoi înlocuiți toate numerele mai mari de 9 cu litere - A, B, C, D, E, F);

2) Dat: https://pandia.ru/text/78/108/images/image008_14.gif" width="59" height="24 src=">..gif" width="60" height="24 src=">.gif" width="65" height="19 src=">?

4) Dat: https://pandia.ru/text/78/108/images/image013_7.gif" width="59" height="24 src=">..gif" width="57" height="24 src=">.gif" width="65" height="19 src=">?

6) Dat: https://pandia.ru/text/78/108/images/image017_4.gif" width="57" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

8) Dat: https://pandia.ru/text/78/108/images/image021_4.gif" width="57" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

10) Dat: https://pandia.ru/text/78/108/images/image013_7.gif" width="59" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

12) Dat: https://pandia.ru/text/78/108/images/image015_4.gif" width="59" height="24 src=">..gif" width="59" height="24 src=">.gif" width="65" height="19 src=">?

14) Dat: https://pandia.ru/text/78/108/images/image029_3.gif" width="55" height="24 src=">. Care dintre numerele C scrise în sistemul numeric binar satisface inegalitate??

19) Care dintre numere este cel mai mic?

20) Care dintre numere este cel mai mare?

IV. Memorie. A1_4.

1. Un octet este folosit pentru a stoca un număr întreg cu semn. Câte unități conține reprezentarea internă a numărului (-78)?

Opțiunea 1.

1) traducem 78 în sistemul numeric binar, adăugând „zerouri” până la 8 biți la biții înalți:

78 = 64 + 8 + 4 + 2 = 26 + 23 + 22 + 21 = 0

3) se adaugă unul: + 1 = ;

4) în notația numărului 4 unități Þ răspunsul este 2.

Opțiunea 2.

1) reduceți numărul cu 1, convertiți în sistem de numere binar, adăugând „zerouri” de până la 8 biți la biți înalți

77 = 64 + 8 + 4 + 2 = 26 + 23 + 22 + 20 = 0

2) faceți o mică inversare (înlocuiți 0 cu 1 și 1 cu 0 peste tot):

3) în notația numărului 4 unități Þ răspunsul este 2.

2. Un octet este folosit pentru a stoca un număr întreg cu semn. Câte unități conține reprezentarea internă a numărului (-128)?

3. Un octet este folosit pentru a stoca un număr întreg cu semn. Câte unități conține reprezentarea internă a unui număr (-35) ?

Pentru a înțelege în termeni generali cum gândește un computer, să începem de la început. Un computer este în esență o mulțime de componente electronice puse împreună în ordinea corectă. Și electronica (înainte de a fi adăugat programul) înțelege un singur lucru: este pornit sau oprit, există semnal sau nu există semnal.

De obicei, „există un semnal” este notat cu unu, iar „niciun semnal” este notat cu zero: de unde și expresia că „calculatorul vorbește limbajul zerourilor și al unurilor”.

Acest limbaj al zerourilor și al unuurilor este numit și sistem de numere binar - deoarece are doar două cifre. Sistemul nostru obișnuit de numere este zecimal, are zece cifre (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Dar sunt multe altele - octale, cinci, unsprezece și orice altceva.

Tu și cu mine nu avem numerele zece, nu? Număr 10 este format din două numerele- 1 și 0.

În mod similar, în sistemul de numere chinari, nu va exista „5”, doar 0, 1, 2, 3 și 4.

Să numărăm în sistemul quinar: 0, 1, 2, 3, 4, 10 , 11, 12, 13, 14, 20 , 21, 22, 23, 24, 30 , 31, 32, 33, 34, 40 , 41, 42, 43, 44, 100 (!!!), 101, 102 și așa mai departe. Putem spune că, așa cum este numit sistemul de numere, nu există o astfel de cifră în el. În zecimala noastră nu există un număr „10”, în quinar nu există un număr „5” (și toate cele de după el), în octal - „8” și așa mai departe.

Și în hexazecimal „16”, de exemplu, există! Prin urmare, ne este și mai dificil să înțelegem sistemul hexazecimal. Să numărăm în hexazecimal:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10 , 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20 , 21, 22…97, 98, 99, 9A, 9B, 9C, 9D, 9E, 9F, A0, A1, A2… F7, F8, F9, FA, FB, FC, FD, FE, FF, 100 , 101, 102, 103, 104, 105, 106, 107, 108, 109, 10A, 10B, 10C și așa mai departe.

Totuși, sistemul de numere binare arată și ciudat pentru un aspect necunoscut:

0, 1, 10 , 11, 100 , 101, 110, 111, 1000 , 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000 , 10001…

Acestea sunt numerele pe care computerul le gândește undeva în interiorul său. Dar este complet incomod pentru o persoană să gândească cu astfel de numere, așa că vom converti numerele din binar într-un sistem de numere mai convenabil.

LA programe de calculator Sistemele octale și hexazecimale sunt adesea folosite: este ușor pentru un computer să le înțeleagă (pentru că 8=2*2*2, 16=2*2*2*2, iar computerul este familiarizat cu sistemul binar de la bun început). ), dar pentru oameni este convenabil, deoarece mai aproape de zecimala obișnuită.

Cum se traduce numerele dintr-un sistem numeric în altul? Pentru a înțelege principiul, ne vom ocupa, așa cum ne place, de dulciuri.

Și pe dulciuri, vom traduce numărul 33 în sistemul de numere octale. Vom decide că unitățile sunt bomboanele în sine, iar zecile sunt cutiile, fiecare dintre acestea conținând zece bomboane. Așa că se dovedește că 33 sunt 3 cutii cu 10 bomboane și încă 3 bomboane undeva pe lateral.

Dar ne transformăm bogăția de bomboane în octal, ceea ce înseamnă că trebuie să scuturăm toate bomboanele din cutii de 10, să le punem în cutii de 8 și să vedem ce se întâmplă.

Din 33 primești 4 cutii octale pline și 1 bomboană va rămâne singură, deoarece 33/8=4 (rămanând 1). Adică 33=8* 4 +1 - deci în sistemul de numere octale obțineți numărul 41 .

33 în zecimală este 41 în octal. Acesta este același număr, pur și simplu descompus în casete diferite, tradus în baze diferite. Numărul de dulciuri nu s-a schimbat, doar le-am numărat diferit!

Sistemul binar, așa cum am aflat deja, este mai ciudat și mai neobișnuit pentru ochiul uman. Să încercăm să convertim 33 în binar - se vor dovedi până la 16 cutii de 2! Si ce sa fac? A scrie 16 este oarecum ciudat, amintindu-ne că în sistemul binar există doar zero și unu, iar cei șase de care avem nevoie pentru șaisprezece cu siguranță nu sunt!

Să ne uităm la sistemul nostru zecimal. În el numărăm zeci - 10, 20, 30, 40, 50, 60, 70, 80, 90 - și când avem zece zeci, scoatem o cutie mare - 100.

Avem 100 - acesta este 10 * 10, 1000 - 10 * 10 * 10, 10.000 - 10 * 10 * 10 * 10 și așa mai departe. Pentru alte sisteme numerice, funcționează exact la fel! În sistemul octal 100=8*8, 1000=8*8*8; în binar 100=2*2 și 1000=2*2*2; și în hexazecimal (există unul, vă amintiți?) 100=16*16, 1000=16*16*16.

Aici diplomele sunt utile. Dacă nu le-ați luat încă la școală, nu vă faceți griji, diplomele sunt foarte ușoare. Un număr de putere este un număr înmulțit cu el însuși de un număr de ori. Adică 5 3 \u003d 5 * 5 * 5 ( cinciîn al treilea gradul este cinci, Trei ori în sine: 5*5*5), sau 8 5 = 8*8*8*8*8 ( optîn a cincea gradul este opt, cinci ori însuși înmulțit: 8*8*8*8*8).

Dacă ne amintim despre 10.000=10*10*10*10 în zecimală și 1000=8*8*8 în octal, atunci putem vedea cu ușurință că de câte zerouri, de atâtea ori înmulțim cu noi înșine. Cu alte cuvinte, numărul de caractere din numărul minus unu este puterea la care trebuie ridicată baza. În numărul 1000 avem patru caractere, așa că trebuie să ne înmulțim 4–1 adică de 3 ori. Dacă baza este 10, atunci o mie este 10 înmulțit cu ea însăși de trei ori: 10*10*10. Dacă baza este 8, atunci o mie este 8 înmulțit cu ea însăși de trei ori: 8*8*8.

Am început să vorbim despre toate acestea, încercând să convertim 33 în sistemul binar. La fel, împărțirea acestui număr în casete de câte 2 s-a dovedit a fi dificilă. Dar dacă vă amintiți sutele-mii ale noastre, s-ar putea să vă gândiți: dar în binar 100=2*2, 1000=2*2*2, 10.000=2*2*2*2 și așa mai departe.

Pentru a converti de la zecimal la binar, este convenabil să ne amintim puterile lui doi. Se poate spune chiar că fără acest truc cu grade, vom obosi, vom obosi și un pic nebuni. Și puterile a doi arată cam așa:

Acum, uitându-ne la farfurie, vedem că 33=2 5 +1, adică 33=2*2*2*2*2+1. Ne amintim - de câte ori înmulțim, vor fi atât de multe zerouri - adică 2 * 2 * 2 * 2 * 2 nostru în sistemul binar va fi 100000. Să nu uităm pe cel lăsat deoparte și se dovedește că 33 în zecimală este 100001 în binar. Corect și frumos este scris așa:

33 10 =100001 2

Să traducem (pentru a înțelege foarte bine) numărul 15 în sistem binar.

  1. În primul rând, să ne uităm la tabel.

a) Care este cel mai apropiat număr de 15 din el? Nu, 16 nu este potrivit, este mai mult și avem nevoie de cel mai apropiat, care este mai puțin. Se pare că acesta este 8, adică 2 3 , adică 2*2*2.

b) Opt bomboane din 15 au fost demontate, au mai rămas 15-8 - șapte. Care este cel mai apropiat număr din tabel? Nu, opt nu vor funcționa din nou, vezi mai sus. Patru vor face, adică 2 2 , adică 2*2.

c) Patru din cele șapte bomboane au fost demontate, au mai rămas doar 7-4 - trei. Din tabel înțelegem că cel mai apropiat număr este 2, adică 2 1 , care este doar 2.

d) Trei minus doi - stânga 1 bomboane, nu este nevoie de semn. Nu te poți uita la acest tip de tablete când restul tău este mai mic decât baza, iar unitatea noastră este cu siguranță mai mică de două.

  1. Colectăm împreună tot ce se găsește în tabletă: 15=2 3 + 2 2 + 2 1 + 1, mai este: 15=2*2*2 + 2*2 + 2 + 1.
  2. În binar 2*2*2=1000, 2*2=100, 2=10, vă amintiți? Și obținem 1000 + 100 + 10 + 1, adică 1111.
  3. Asa de,

15 10 =1111 2

Când te uiți doar la toți acești pași, se pare că acesta este doar o gunoi O grămadă de numere diferite scrise ciudat. Și să te confuzi în toate acestea pentru prima dată este normal. Și în al doilea, și în al treilea. Doar încercați să o faceți din nou și din nou - pas cu pas, așa cum este scris mai sus, și totul va funcționa.

Și invers, funcționează și! De exemplu, numărul 11010101 2 - cum să faci o zecimală de înțeles din el? La fel, cu ajutorul unei farfurii. Să mergem de la final:

1*2 0 +0*2 1 +1*2 2 +0*2 3 +1*2 4 +0*2 5 +1*2 6 +1*2 7 =

1*1+0*2+1*4+0*8+1*16+0*32+1*64+1*128=

1+0+4+0+16+0+64+128=213

11010101 2 = 213 10

Cam așa înțelege computerul numerele cu care suntem obișnuiți.

Când te uiți la el pentru prima dată, se pare că, în primul rând, este complet de neînțeles și, în al doilea rând, nu va funcționa deloc. Prin urmare, acum vom face puțină magie matematică cu tine pentru a ne asigura că sistemele numerice sunt același lucru real, cum ar fi, de exemplu, sarcina de a „da cincisprezece prăjituri în mod egal la cinci copii”.

Deci să luăm un exemplu 15+6 și rezolvați-l în diferite sisteme numerice. Este clar că în zecimala noastră va ieși 21. Și ce va ieși, de exemplu, în octal?

Traducem 15 în sistemul de numere octale. Primul pas pe care îl facem când ne transferăm la alt sistem este să ne uităm la tabelul de grade. 8 2 este deja 64 și cu siguranță nu se va potrivi în 15, așa că luăm 8 1 - adică doar 8. 15–8 = 7, este mai mic decât baza noastră 8, așa că nu facem nimic cu el.

Deci s-a dovedit că 15=8 1 +7 .

În sistemul octal, logica este exact aceeași ca, de exemplu, în binar: 8 3 este 1000, 8 2 este 100, 8 1 este 10. S-a dovedit că:

15 10 =17 8

Permiteți-mi să vă reamintesc că exemplul nostru a fost 15+6. Am tradus 15 în sistem octal, cum putem traduce 6? Este mai puțin de 8, baza noastră, așa că răspunsul este să-l lăsăm așa cum este. Exemplul nostru acum arată astfel:

15 10 +6 10 =17 8 +6 8

Acum vom adăuga în sistemul de numere octale. Cum se face? La fel ca în zecimală, dar amintiți-vă că zece în octal este opt, nu zece și că 8 și 9 nu există în el.

Când numărăm în zecimale, în esență facem asta:

15+6=15+5+1=20+1=21

Să încercăm să facem același truc în sistemul octal:

17 8 +6 8 =17 8 +1 8 +5 8 =20 8 +5 8 =25 8

De ce 17+1? Pentru că 7+1=8, iar 8 este zece nostru! În sistemul octal, 7+1=10, ceea ce înseamnă 17+1=20. Dacă în acest moment creierul tău începe să tragă un semnal de alarmă și să-ți spună că ceva nu este în regulă aici, întoarce-te la începutul articolului, unde am numărat în diferite sisteme numerice.

Acum arată exemplul nostru

15 10 +6 10 =17 8 +6 8 =25 8

Să traducem 25 8 înapoi în sistemul nostru de numere. În zecimală, dacă am vedea numărul 25, am putea spune că are două zeci și cinci unități. În octal, așa cum probabil ați ghicit deja, numărul 25 8 este doi opt și cinci uni. Adică 25 8 \u003d 2 * 8 + 5 \u003d 21 10.

Deci, iată exemplul nostru complet:

15 10 +6 10 =17 8 +6 8 =25 8 =21 10

S-a dovedit exact același 21 pe care l-am primit la început, când am numărat 15 + 6 în mod obișnuit pentru noi în sistemul zecimal.

Regulile aritmetice nu se schimbă de la faptul că am ales un alt sistem de numere.

Prin urmare, computerul, transformând totul în zerouri și unu, care ni se par de neînțeles și lipsit de sens, nu pierde informațiile pe care i-am dat-o și poate, după ce a calculat într-o formă convenabilă, să dea rezultatul, transferându-l înapoi către forma cu care suntem obișnuiți.