Crittografia: come pensa il computer. Sistemi numerici e rappresentazione binaria dell'informazione nella memoria del computer

Risposta: 3). Soluzione: La cifra più significativa dell'equivalente binario del numero 83 è 6, poiché 2 6 =64. Questa è la potenza massima di due che è inferiore a un determinato numero. 83-64=19, il che significa che l'unità successiva è nella 4a cifra. 19-16= 3. 3-2=1, questa unità è nella cifra zero e il numero 2 è un'unità nella prima cifra Pertanto, le unità sono in 0, 1, 4, 6 cifre e zeri in cifre rimanenti. Otteniamo 1010011 2

Calcola l'importo numeri binari X E , Se

X=1010101 2

Risposta: 2). Soluzione: ricorda che 1 2 +1 2 =10 2, quindi 1010101 2

Risposta: 3, 7, 21.

Opzione 2006


Il numero di zeri significativi nella notazione binaria del numero decimale 126 è

Risposta: 4). Soluzione: x = 1D 16 =11101 2 , y = 111010 2 11101 2

B1


In un sistema numerico con una determinata base, il numero 17 viene scritto come 101. Specifica questa base.

Risposta: base=4. Soluzione: 17:4=4, resto 1, 4:4=1, resto 0. scrivi l'ultimo quoziente e tutti i resti in ordine inverso. Otteniamo 101

Opzione 2007

A4


Quanti uno ci sono in notazione binaria per il numero 195?

Risposta: 3). Soluzione: 10 8 =1000 2, 1000 2 10 2 =10000 2, 10 16 =10000 2 Come risultato dell'addizione 10000 2 + 10000 2 = 100000 2

Oppure convertiamo l'espressione 10 16 + 10 8 · 10 2 nel sistema numerico decimale. Otteniamo

16 + 8 2 =16+16+32 = 100000 2

B1


Separati da virgole, in ordine crescente, indicare tutte le basi dei sistemi numerici in cui il numero 22 termina con 4.

Risposta: 6, 9, 18. Soluzione: per convertire un numero da un sistema numerico decimale a qualsiasi altro, è necessario dividere questo numero equamente per la base del sistema numerico desiderato. Durante la prima divisione otteniamo l'ultima cifra del numero desiderato come resto della divisione intera. Il resto è 4 dividendo 22 per 6, 9, 18.

Opzione 2008

UN4 Quante unità ci sono nella notazione binaria per il numero decimale 194,5?

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

Risposta: 4). Soluzione: Parte intera di un numero. La cifra più significativa dell'equivalente binario del numero 194 è 7, poiché 2 7 = 128. Questa è la potenza massima di due che è inferiore a un determinato numero. 194-128=66, il che significa che l'unità successiva è nella sesta cifra. 66-64 = 2, questa è un'unità - nella prima cifra, quindi, nella parte intera del numero, le unità sono nella 1a, 6a, 7a cifra, nelle restanti cifre ci sono zero. Otteniamo 11000010 2. Parte frazionaria il numero decimale 0,5 è 0,1 2, poiché l'unità binaria nella cifra -1 è 2 -1 decimale, cioè 0,5. Otteniamo 194,5 = 11000010,1 2

Come convertire una frazione decimale propria in qualsiasi altro sistema numerico posizionale?

Per convertire la frazione decimale corretta F in un sistema numerico con una base Q necessario F moltiplicare per Q, scritto con lo stesso sistema decimale, quindi moltiplica nuovamente la parte frazionaria del prodotto risultante per Q, ecc., fino a quando la parte frazionaria del prodotto successivo diventa uguale a zero o fino a quando non viene raggiunta la precisione richiesta nella rappresentazione del numero F V Q sistema -ic. Rappresentare la parte frazionaria di un numero F V nuovo sistema il numero sarà una sequenza di intere parti delle opere risultanti, scritte nell'ordine in cui sono state ricevute e raffigurate in una Q-cifra aria. Se è richiesta la precisione della traduzione del numero F ammonta a k cifre decimali, l'errore assoluto massimo è pari a Q -(k+1) / 2.


UN5 Calcola la somma dei numeri X E sì, A X = A6 16, = 75 8 .

Presentare il risultato sistema binario Resa dei conti.

Risposta: 3). Soluzione: X = A6 16 = 10100110 2, = 75 8 = 111101 2 10100110 2

B1 Separati da virgole, in ordine crescente, indicare tutte le basi dei sistemi numerici in cui il numero 23 termina con 2.

Risposta: 3, 7, 21. Soluzione: per convertire un numero da un sistema numerico decimale a qualsiasi altro, è necessario dividere questo numero equamente per la base del sistema numerico desiderato. Durante la prima divisione otteniamo l'ultima cifra del numero desiderato nel resto della divisione intera. Il resto è due quando il numero 23 viene diviso per 3, 7, 21.

Opzione 2009

A3 Dato a=D7 16 , b=331 8 . Quale numero Con, scritto nel sistema binario, soddisfa la condizione UN< C< B?

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

Risposta: 4). Soluzione: a = 11010111 2

Le quattro cifre più significative di tutte le opzioni di risposta e i numeri UN E B sono uguali, quindi confronteremo la somma dei pesi delle quattro cifre inferiori. Questo è per UN – 7 10 , per B– 9 10, cerchiamo una risposta con il numero 8 10 nelle 4 cifre meno significative. Questo è 1000 2, ovvero la quarta opzione di risposta.

UN4 Qual è la somma dei numeri 43 8 e 56 16?

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

Risposta: 2). Soluzione:

43 8 = 100011 2 56 16 = 1010110 2 1010110

1111001 2 = 171 8

B3 Inserisci tutti i numeri decimali separati da virgole in ordine crescente. non superiore 25, che nel sistema numerico a base quattro termina con 11.

Risposta: 5, 21 Soluzione: Tra i numeri decimali > 4 e<25 остаток 1 quando si divide per un numero intero per 4 (l'ultima cifra di un numero in un sistema numerico in base 4) solo per i numeri 5, 9, 13, 17, 21. Le ultime due cifre 11 dividendo solo per 4 – solo per il numero 5 (resto 1 e quoziente 1) e il numero 21 (primo e secondo resto = 1, cioè le ultime due cifre)

O più semplice:

11 4 = 4 1 + 4 0 = 5

111 4 = 4 2 + 5 = 21

1011 4 = 4 3 + 21 > 25

Opzione 2010

UN1

Risposta: 2) Soluzione: a = 10011101 2

Si vede che il numero 4) non è adatto, è maggiore di b, maggiore di a e minore di b è solo il numero 2)

UN4

Calcola la somma dei numeri X e Y se

Presentare il risultato in forma binaria.

Risposta:4) Soluzione: X=110111 2 = 67 8

X + Y =67 8 +135 8 = 224 8 =10010100 2

UN11

Per trasmettere un messaggio su un canale di comunicazione composto solo da caratteri A, B, C e D, viene utilizzata la codifica carattere per carattere: A-00, B-11, B-010, D-011. Il messaggio: VAGBGV viene trasmesso attraverso il canale di comunicazione. Codifica il messaggio con questo codice. Converti la sequenza binaria risultante in forma esadecimale.

Con questo calcolatore in linea Puoi convertire numeri interi e frazionari da un sistema numerico a un altro. Viene fornita una soluzione dettagliata con spiegazioni. Per tradurre, inserisci il numero originale, imposta la base del sistema numerico del numero di origine, imposta la base del sistema numerico in cui desideri convertire il numero e fai clic sul pulsante "Traduci". Vedi la parte teorica e gli esempi numerici qui sotto.

Il risultato è già stato ricevuto!

Conversione di numeri interi e frazioni da un sistema numerico a qualsiasi altro: teoria, esempi e soluzioni

Esistono sistemi numerici posizionali e non posizionali. Il sistema numerico arabo, che usiamo nella vita di tutti i giorni, è posizionale, ma il sistema numerico romano non lo è. Nei sistemi numerici posizionali, la posizione di un numero determina in modo univoco la grandezza del numero. Consideriamolo utilizzando l'esempio del numero 6372 nel sistema numerico decimale. Numeriamo questo numero da destra a sinistra partendo da zero:

Quindi il numero 6372 può essere rappresentato come segue:

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

Il numero 10 determina il sistema numerico (in questo caso è 10). I valori della posizione di un dato numero sono presi come potenze.

Considera il reale numero decimale 1287.923. Numeriamolo partendo da zero, posizionando il numero dalla virgola a sinistra e a destra:

Quindi il numero 1287.923 può essere rappresentato come:

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.

In generale, la formula può essere rappresentata come segue:

C n S n+C n-1 · S n-1+...+C1 · S 1 +C 0 ·s 0 +D -1 ·s -1 +D -2 ·s -2 +...+D -k ·s -k

dove C n è un numero intero in posizione N, D -k - numero frazionario in posizione (-k), S- sistema numerico.

Qualche parola sui sistemi numerici. Un numero nel sistema numerico decimale è composto da molte cifre (0,1,2,3,4,5,6,7,8,9), nel sistema numerico ottale è composto da molte cifre. (0,1, 2,3,4,5,6,7), nel sistema numerico binario - da un insieme di cifre (0,1), nel sistema numerico esadecimale - da un insieme di cifre (0,1 ,2,3,4,5,6, 7,8,9,A,B,C,D,E,F), dove A,B,C,D,E,F corrispondono ai numeri 10,11, 12,13,14,15 Nella tabella Tab.1 i numeri sono presentati in sistemi diversi Resa dei conti.

Tabella 1
Notazione
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 UN
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Conversione di numeri da un sistema numerico a un altro

Per convertire i numeri da un sistema numerico a un altro, il modo più semplice è convertire prima il numero nel sistema numerico decimale, quindi convertire dal sistema numerico decimale al sistema numerico richiesto.

Conversione di numeri da qualsiasi sistema numerico al sistema numerico decimale

Utilizzando la formula (1), puoi convertire i numeri da qualsiasi sistema numerico al sistema numerico decimale.

Esempio 1. Converti il ​​numero 1011101.001 dal sistema numerico binario (SS) al decimale SS. Soluzione:

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

Esempio2. Converti il ​​numero 1011101.001 dal sistema numerico ottale (SS) al decimale SS. Soluzione:

Esempio 3 . Convertire il numero AB572.CDF dal sistema numerico esadecimale al decimale SS. Soluzione:

Qui UN-sostituito da 10, B- alle 11, C- alle 12, F- entro le 15.

Conversione di numeri dal sistema numerico decimale a un altro sistema numerico

Per convertire i numeri dal sistema numerico decimale a un altro sistema numerico, è necessario convertire separatamente la parte intera del numero e la parte frazionaria del numero.

La parte intera di un numero viene convertita da SS decimale a un altro sistema numerico dividendo sequenzialmente la parte intera del numero per la base del sistema numerico (per SS binario - per 2, per 8-ario SS - per 8, per 16 -ary SS - by 16, ecc. ) fino ad ottenere un residuo intero, inferiore alla base CC.

Esempio 4 . Convertiamo il numero 159 da SS decimale a SS binario:

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

Come si può vedere dalla Fig. 1, il numero 159 diviso per 2 dà il quoziente 79 e il resto 1. Inoltre, il numero 79 diviso per 2 dà il quoziente 39 e il resto 1, ecc. Di conseguenza, costruendo un numero dai resti della divisione (da destra a sinistra), otteniamo un numero in SS binario: 10011111 . Pertanto possiamo scrivere:

159 10 =10011111 2 .

Esempio 5 . Convertiamo il numero 615 da SS decimale a SS ottale.

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

Quando si converte un numero da SS decimale a SS ottale, è necessario dividere in sequenza il numero per 8 finché non si ottiene un resto intero inferiore a 8. Di conseguenza, costruendo un numero dai resti della divisione (da destra a sinistra) otteniamo un numero in SS ottale: 1147 (vedi Fig. 2). Pertanto possiamo scrivere:

615 10 =1147 8 .

Esempio 6 . Convertiamo il numero 19673 dal sistema numerico decimale a esadecimale SS.

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

Come si può vedere dalla Figura 3, dividendo successivamente il numero 19673 per 16, i resti sono 4, 12, 13, 9. Nel sistema numerico esadecimale, il numero 12 corrisponde a C, il numero 13 a D. Pertanto, il nostro il numero esadecimale è 4CD9.

Per convertire le frazioni decimali regolari (un numero reale con una parte intera pari a zero) in un sistema numerico in base s, è necessario moltiplicare successivamente questo numero per s fino a quando la parte frazionaria contiene uno zero puro, oppure otteniamo il numero di cifre richiesto . Se dalla moltiplicazione risulta un numero con una parte intera diversa da zero, questa parte intera non viene presa in considerazione (vengono incluse in sequenza nel risultato).

Diamo un'occhiata a quanto sopra con esempi.

Esempio 7 . Convertiamo il numero 0,214 dal sistema numerico decimale al sistema binario SS.

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

Come si può vedere dalla Fig. 4, il numero 0,214 viene moltiplicato in sequenza per 2. Se il risultato della moltiplicazione è un numero con una parte intera diversa da zero, la parte intera viene scritta separatamente (a sinistra del numero), e il numero si scrive con la parte intera pari a zero. Se il risultato della moltiplicazione è un numero con parte intera pari a zero, alla sua sinistra viene scritto uno zero. Il processo di moltiplicazione continua finché la parte frazionaria non raggiunge uno zero puro o non otteniamo il numero di cifre richiesto. Scrivendo numeri in grassetto (Fig. 4) dall'alto verso il basso otteniamo il numero richiesto nel sistema numerico binario: 0. 0011011 .

Pertanto possiamo scrivere:

0.214 10 =0.0011011 2 .

Esempio 8 . Convertiamo il numero 0,125 dal sistema numerico decimale al sistema binario SS.

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

Per convertire il numero 0,125 da decimale SS a binario, questo numero viene moltiplicato in sequenza per 2. Nella terza fase, il risultato è 0. Di conseguenza, si ottiene il seguente risultato:

0.125 10 =0.001 2 .

Esempio 9 . Convertiamo il numero 0,214 dal sistema numerico decimale a esadecimale SS.

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

Seguendo gli esempi 4 e 5, otteniamo i numeri 3, 6, 12, 8, 11, 4. Ma in SS esadecimale, i numeri 12 e 11 corrispondono ai numeri C e B. Pertanto, abbiamo:

0,214 10 =0,36C8B4 16 .

Esempio 10 . Convertiamo il numero 0,512 dal sistema numerico decimale a ottale SS.

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

Ricevuto:

0.512 10 =0.406111 8 .

Esempio 11 . Convertiamo il numero 159.125 dal sistema numerico decimale al sistema binario SS. Per fare ciò, traduciamo separatamente la parte intera del numero (Esempio 4) e la parte frazionaria del numero (Esempio 8). Combinando ulteriormente questi risultati otteniamo:

159.125 10 =10011111.001 2 .

Esempio 12 . Convertiamo il numero 19673.214 dal sistema numerico decimale a esadecimale SS. Per fare ciò traduciamo separatamente la parte intera del numero (Esempio 6) e la parte frazionaria del numero (Esempio 9). Inoltre, combinando questi risultati otteniamo.

Soggetto: Sistemi numerici e rappresentazione binaria informazioni nella memoria del computer.

Teoria:

· algoritmo per la conversione dei numeri tra sistemi numerici decimali, binari, ottali ed esadecimali

Rappresentazione degli interi negativi in ​​memoria nel codice del complemento binario:
1 modo:

1. convertire il numero nel sistema numerico binario,

2. inverti bit: sostituisci gli zeri con gli uno e gli uno con gli zeri all'interno della griglia di bit,

3. aggiungere 1 al risultato, spostando 1 alla cifra successiva nel caso di 2 unità.

Metodo 2:

1. riduci il numero di 1 e converti il ​​numero nel sistema numerico binario,

2. eseguire l'inversione di bit.

Regole per rappresentare i numeri nel sistema binario:

1. i numeri pari finiscono con 0, i numeri dispari finiscono con 1;

2. i numeri divisibili per 4 terminano con 00, ecc.; i numeri divisibili per 2k finiscono con k zeri

3. se il numero N appartiene all'intervallo 2k-1 £ N< 2k, в его двоичной записи будет всего k cifre, ad esempio, per un numero 125 :

io. 26 = £ 64 125 < 128 = 27, 125 = 11111цифр)

4. i numeri della forma 2k sono scritti nel sistema binario come uno e k zeri, ad esempio:

5. 16 = 24 = 100002

6. i numeri della forma 2k-1 sono scritti nel sistema binario k unità, ad esempio:

7. 15 = 24-1 = 11112

se si conosce la rappresentazione binaria del numero N, allora la rappresentazione binaria del numero 2·N si ottiene facilmente aggiungendo uno zero finale, ad esempio:
15 = 11112, 30 = 60 = 1 120 =

I. Sistemi numerici. A1_1.

1) Come viene rappresentato il numero 8310 nel sistema numerico binario?

1) 100103) 10100

Soluzione (opzione 1, divisione per la base del sistema numericoN):

2) dividere in sequenza il numero 83 per 2 = Þ 3.

Soluzione (opzione 2, espansione nella somma delle potenze di due):

1) rappresentare il numero come somma delle potenze di due: 83 = 64 + 16 + 2 + 1 = 26 + 24 + 21 + 20 Þ 3.

2) Come è rappresentato il numero 25 nel sistema numerico binario?

3) Come è rappresentato il numero 82 nel sistema numerico binario?

4) Come è rappresentato il numero 263 nel sistema numerico ottale?

5) Come si scrive il numero 5678 nel sistema numerico binario?

6) Come si scrive il numero A8716 nel sistema numerico ottale?

7) Come si scrive il numero 7548 nel sistema numerico esadecimale?

1) 73AEC16 4) A5616

II. Quante unità (sistema binario). A1_2.

1) Quanti uno ci sono nella notazione binaria per il numero 1025?

Opzione 1, traduzione diretta:

1) convertire il numero 1025 nel sistema binario: 1025 =

2) contare “1” Þ 2.

Opzione 2, espansione nella somma delle potenze di due:

1) rappresentare il numero come somma delle potenze di due: 1025 = 1024 + 1 = 210 + 20,

2) quante diverse potenze di due ci sono nella somma - tanti “1” Þ 2.

2) Quanti ci sono in notazione binaria per il numero 195?

3) Quanti ci sono in notazione binaria per il numero 173?

4) Quanti sono in notazione binaria il numero 64?

5) Quanti sono in notazione binaria il numero 127?

6) Quanti zeri significativi ci sono nella notazione binaria per il numero 48?

7) Quanti zeri significativi ci sono nella notazione binaria per il numero 254?

III. Relazione. A1_3.

1) Dato : E . Quale dei numeri con, scritto nel sistema numerico binario, soddisfa disuguaglianza UN < C < B ?

1) 110110

Soluzione:

1. convertire tutti i numeri nello stesso sistema numerico e confrontare,

2. scelta del sistema numerico –

UN. operazioni minime di trasferimento,

B. facilità di analisi dei numeri ottenuti (2)

Opzione 1 - sistema decimale:

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

4) la risposta corretta è 216 Þ – 4.

Opzione 2 - sistema binario:

1) (ogni cifra esadecimale separatamente convertito in quattro binari - quaderno, gli zeri iniziali possono essere omessi);

2) (ogni cifra ottale separatamenteè tradotto in tre binari - triade , gli zeri iniziali non possono essere scritti);

3) analizziamo il numero pezzo per pezzo dalla cifra più alta a quella più bassa, evidenziamo le parti distinte del numero br = 10012, ar = 01112, quindi il numero intermedio è 1000, la risposta corretta è Þ 4.

Opzione 3 – sistemi ottali/esadecimali:

1) per 8 cifre: devi conoscere la notazione binaria dei numeri da 0 a 7, dividiamo la notazione binaria del numero in triadi da destra a sinistra, traduciamo ogni triade separatamente al sistema decimale;

2) per 16 cifre: devi conoscere la notazione binaria dei numeri da 8 a 15, dividiamo la notazione binaria del numero in tetradi da destra a sinistra, convertiamo ogni tetrade nel sistema esadecimale; in questo caso le tetradi possono essere convertite dal sistema binario a decimale e quindi sostituire tutti i numeri maggiori di 9 con lettere - A, B, C, D, E, F);

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

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

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

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

10) Dato: https://pandia.ru/text/78/108/images/image013_7.gif" larghezza="59" altezza="24 src=">..gif" larghezza="59" altezza="24 src=">.gif" larghezza="65" altezza="19 src=">?

12) Dato: https://pandia.ru/text/78/108/images/image015_4.gif" larghezza="59" altezza="24 src=">..gif" larghezza="59" altezza="24 src=">.gif" larghezza="65" altezza="19 src=">?

14) Dato: https://pandia.ru/text/78/108/images/image029_3.gif" width="55" Height="24 src=">. Quale dei numeri C, scritto nel sistema di numerazione binario , soddisfa la disuguaglianza??

19) Quale numero è il più piccolo?

20) Quale numero è il più grande?

IV. Memoria. A1_4.

1. Un byte viene utilizzato per memorizzare un intero con segno. Quante unità contiene la rappresentazione interna del numero (-78)?

Opzione 1.

1) convertire 78 nel sistema di numerazione binario, aggiungendo “zeri” fino a 8 bit ai bit più significativi:

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

3) aggiungi uno: + 1 = ;

4) scrivendo il numero 4 unità Þ la risposta è 2.

Opzione 2.

1) ridurre il numero di 1, convertirlo nel sistema di numerazione binario, aggiungendo “zeri” fino a 8 bit ai bit più significativi

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

2) esegui l'inversione dei bit (sostituisci 0 con 1 e 1 con 0 ovunque):

3) scrivendo il numero 4 unità Þ la risposta è 2.

2. Un byte viene utilizzato per memorizzare un intero con segno. Quante unità contiene la rappresentazione interna del numero (-128)?

3. Un byte viene utilizzato per memorizzare un intero con segno. Quante unità contiene la rappresentazione interna di un numero? (-35) ?

Per capire in termini generali come pensa un computer, cominciamo dall'inizio. Un computer è essenzialmente un insieme di componenti elettronici messi insieme nel giusto ordine. E l'elettronica (prima che vi fosse aggiunto un programma) capisce solo una cosa: se è accesa o spenta, se c'è segnale oppure no.

Tipicamente, “c’è un segnale” è indicato con uno, e “nessun segnale” è indicato con uno zero: da qui l’espressione che “il computer parla la lingua degli zeri e degli uno”.

Questo linguaggio di zero e uno è anche chiamato sistema numerico binario, perché ha solo due cifre. Il nostro solito sistema numerico è decimale, ha dieci cifre (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Ma ce ne sono molti altri: ottale, quintuplo, undicesimo e quant'altro.

Tu ed io non ne abbiamo numeri"dieci", giusto? Numero 10 è composto da due numeri– 1 e 0.

Allo stesso modo, nel sistema numerico quinario non ci sarà il numero “5”, solo 0, 1, 2, 3 e 4.

Contiamo nel sistema quinario: 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 e così via. Possiamo dire che come viene chiamato il sistema numerico, non esiste un numero simile. Nel nostro decimale non c'è la cifra “10”, in quinario non c'è la cifra “5” (e tutte quelle successive), in ottale non c'è “8” e così via.

E in esadecimale “16”, ad esempio, c'è! Pertanto, il sistema esadecimale è per noi ancora più difficile da comprendere. Contiamo in esadecimale:

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 e così via.

Il sistema numerico binario, tuttavia, appare strano anche ad un occhio non abituato:

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

Questi sono i numeri che il computer pensa da qualche parte dentro di sé. Ma è del tutto scomodo per una persona pensare con tali numeri, quindi convertiamo i numeri da binari a altri sistema conveniente Resa dei conti.

IN programmi informatici vengono spesso utilizzati i sistemi ottale ed esadecimale: è facile per un computer capirli (perché 8 = 2*2*2, 16 = 2*2*2*2, e il computer ha inizialmente familiarità con il sistema binario), ma per le persone è conveniente perché è più vicino al solito decimale.

Come convertire i numeri da un sistema numerico a un altro? Per comprendere il principio, utilizzeremo, a nostro piacimento, le caramelle.

E sulle caramelle, convertiremo il numero 33 nel sistema numerico ottale. Decideremo che le unità sono le caramelle stesse e le decine sono le scatole, ciascuna delle quali contiene dieci caramelle. Quindi risulta che 33 sono 3 scatole da 10 caramelle ciascuna e altre 3 caramelle da qualche parte sul lato.

Ma convertiamo la nostra ricchezza di caramelle nel sistema numerico ottale, il che significa che dobbiamo scuotere tutte le caramelle dalle scatole da 10, metterle in scatole da 8 e vedere cosa ne esce.

Da 33 otterrai 4 scatole ottali piene e 1 caramella rimarrà da sola, poiché 33/8 = 4 (il resto è 1). Cioè, 33=8* 4 +1 - ecco come si ottiene il numero nel sistema numerico ottale 41 .

33 in decimale è 41 in ottale. Questo è lo stesso numero, semplicemente disposto in caselle diverse, tradotto in basi diverse. Il numero di caramelle non è cambiato, le abbiamo semplicemente contate in modo diverso!

Il sistema binario, come abbiamo già scoperto, è più strano e insolito per l'occhio umano. Proviamo a convertire 33 in binario: otterremo fino a 16 scatole da 2! Quindi cosa dovremmo fare? È in qualche modo strano scrivere 16, ricordando che nel sistema binario ci sono solo zero e uno, e il sei di cui abbiamo bisogno per sedici sicuramente non c'è!

Diamo un'occhiata al nostro sistema decimale. In esso contiamo le decine - 10, 20, 30, 40, 50, 60, 70, 80, 90 - e quando abbiamo dieci decine, tiriamo fuori una scatola grande - 100.

Per noi, 100 è 10*10, 1000 è 10*10*10, 10.000 è 10*10*10*10 e così via. Per gli altri sistemi numerici funziona esattamente allo stesso modo! Nel sistema ottale, 100=8*8, 1000=8*8*8; in binario 100=2*2 e 1000=2*2*2; e in esadecimale (ce n'è uno, ricordi?) 100=16*16, 1000=16*16*16.

È qui che i titoli di studio tornano utili. Se non li hai ancora sostenuti a scuola, non allarmarti, i titoli di studio sono molto semplici. Un numero elevato a potenza è un numero moltiplicato per se stesso più volte. Cioè, 5 3 =5*5*5 ( cinque V terzo gradi è cinque, tre volte moltiplicato per se stesso: 5*5*5), ovvero 8 5 =8*8*8*8*8 ( otto V quinto gradi è otto, cinque volte moltiplicato per se stesso: 8*8*8*8*8).

Se ricordiamo il nostro 10.000 = 10*10*10*10 in decimale e 1000 = 8*8*8 in ottale, allora possiamo facilmente notare quanti zeri moltiplichiamo per noi stessi. In altre parole, il numero di caratteri del numero meno uno è la potenza a cui deve essere elevata la base. Nel numero 1000 abbiamo quattro simboli, il che significa che dobbiamo moltiplicare 4–1 , cioè 3 volte. Se la base è 10, mille è 10 moltiplicato per se stesso tre volte: 10*10*10. Se la base è 8, mille è 8 moltiplicato per se stesso tre volte: 8*8*8.

Abbiamo iniziato a parlare di tutto questo mentre provavamo a convertire 33 in binario. Si è rivelato difficile dividere semplicemente questo numero in caselle da 2. Ma se ricordi le nostre centinaia e migliaia, potresti pensare: ma in binario 100=2*2, 1000=2*2*2, 10.000=2*2*2*2 e così via.

Per convertire da decimale a binario, è conveniente ricordare le potenze di due. Si può anche dire che senza questo trucco con i gradi ci stancheremo, ci stancheremo e diventeremo un po' pazzi. E le potenze di due assomigliano a questa:

Ora, guardando la piastra, vediamo che 33 = 2 5 +1, cioè 33 = 2*2*2*2*2+1. Ricordiamo - non importa quante volte moltiplichiamo, ci saranno così tanti zeri - cioè il nostro 2*2*2*2*2 nel sistema binario sarà 100000. Non dimentichiamo quello lasciato da parte, e gira fuori che 33 in decimale è 100001 in binario. È scritto correttamente e magnificamente in questo modo:

33 10 =100001 2

Convertiamo (per comprendere appieno) il numero 15 nel sistema binario.

  1. Prima di tutto guarda il cartello.

a) Qual è il numero più vicino a 15? No, il 16 non va bene, è più grande, e ci serve quello più vicino, che è più piccolo. Si scopre che questo è 8, cioè 2 3 , cioè 2*2*2.

b) Sono state tolte 8 caramelle su 15, lasciandone 15-8 - sette. Qual è il numero più vicino nella tabella? No, otto non funzionerà più, vedi sopra. Ne basteranno quattro, s'intende 2 2 , cioè 2*2.

c) Quattro delle sette caramelle furono portate via, lasciandone - 7-4 - tre. Dalla tabella capiamo che il numero più vicino è 2, cioè 2 1 , cioè solo 2.

d) Tre meno due - a sinistra 1 caramelle, non c'è bisogno di un cartello qui. Non devi guardare tavolette di questo tipo quando il tuo resto è inferiore alla base e la nostra unità è decisamente inferiore a due.

  1. Raccogliamo insieme tutto quello che si trova nella tavoletta: 15 = 2 3 + 2 2 + 2 1 + 1, è anche: 15 = 2*2*2 + 2*2 + 2 + 1.
  2. Nel sistema binario 2*2*2=1000, 2*2=100, 2=10, ricordate? E otteniamo 1000+100+10+1, cioè 1111.
  3. COSÌ,

15 10 =1111 2

Quando guardi tutti questi passaggi, sembra che sia solo una discarica di Cumuli di numeri diversi scritti in modo strano. Ed è normale confondersi su tutto questo per la prima volta. E nel secondo e nel terzo. Prova a farlo ancora e ancora, passo dopo passo, come scritto sopra, e tutto funzionerà.

E funziona anche al contrario! Ad esempio, il numero 11010101 2: come ricavarne un chiaro decimale? Allo stesso modo, utilizzando un segno. Partiamo dalla fine:

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

Questo è più o meno il modo in cui un computer comprende i numeri a cui siamo abituati.

Quando lo guardi per la prima volta, sembra che, in primo luogo, sia completamente incomprensibile e, in secondo luogo, non funzionerà affatto. Pertanto, ora faremo un po’ di magia matematica per assicurarci che i sistemi numerici siano una cosa reale quanto, ad esempio, il compito di “distribuire quindici biscotti equamente a cinque bambini”.

Quindi facciamo un esempio 15+6 e risolverlo in diversi sistemi numerici. È chiaro che nel nostro decimale risulterà 21. Ma cosa risulterà, ad esempio, in ottale?

Converti 15 nel sistema numerico ottale. Il nostro primo passo quando ci trasferiamo a un altro sistema è guardare la tabella dei gradi. 8 2 è già 64, e sicuramente non entrerà in 15, quindi prendiamo 8 1 - cioè solo 8. 15–8 = 7, è inferiore alla nostra base 8, quindi non facciamo nulla con Esso.

Quindi si è scoperto che 15=8 1 +7 .

Nel sistema ottale, la logica è esattamente la stessa, ad esempio, nel sistema binario: 8 3 è 1000, 8 2 è 100, 8 1 è 10. Risulta che:

15 10 =17 8

Lascia che ti ricordi che il nostro esempio era 15+6. Abbiamo convertito 15 nel sistema ottale, come possiamo convertire 6? È inferiore a 8, la nostra base, quindi la risposta è lasciarlo così com'è. Il nostro esempio ora assomiglia a questo:

15 10 +6 10 =17 8 +6 8

Ora aggiungeremo il sistema numerico ottale. Come si fa? Lo stesso che nel sistema decimale, ma dobbiamo ricordare che dieci nel sistema ottale è otto, non dieci, e che 8 e 9 non esistono in esso.

Quando contiamo in decimale, essenzialmente facciamo questo:

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

Proviamo lo stesso trucco nel sistema ottale:

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

Perché 17+1? Perché 7+1=8, e 8 è il nostro dieci! Nel sistema ottale, 7+1=10, che significa 17+1=20. Se a questo punto il tuo cervello inizia a suonare l'allarme e ti dice che qui c'è qualcosa che non va, torna all'inizio dell'articolo, dove abbiamo contato in diversi sistemi numerici.

Il nostro esempio ora assomiglia

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

Riconvertiamo 25 8 nel nostro sistema numerico. In decimale, se vedessimo il numero 25, potremmo dire che ha due decine e cinque unità. In ottale, come probabilmente hai già intuito, il numero 25 8 è composto da due otto e cinque unità. Cioè, 25 8 =2*8+5=21 10.

Quindi, il nostro esempio nella sua interezza:

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

Il risultato è esattamente lo stesso 21 che abbiamo ottenuto all'inizio, quando abbiamo calcolato 15+6 nel solito modo nel sistema decimale.

Le regole aritmetiche non cambiano perché abbiamo scelto un sistema numerico diverso.

Pertanto, il computer, traducendo tutto in zero e uno, che ci sembrano incomprensibili e privi di significato, non perde le informazioni che gli abbiamo fornito e può, dopo aver calcolato in una forma a lui conveniente, produrre il risultato, riconvertendolo in la forma che ci è familiare.