LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam

Profondità di bit del codice binario, Conversione delle informazioni dalla forma continua alla forma discreta, L'universalità della codifica binaria, Codici uniformi e non uniformi, Grado di informatica 7 Bosov, Grado di informatica 7

1.5.1. Conversione delle informazioni da continue a discrete
Per risolvere i suoi problemi, una persona deve spesso trasformare le informazioni disponibili da una forma di presentazione all'altra. Ad esempio, durante la lettura ad alta voce, le informazioni vengono convertite da una forma discreta (testo) a una forma continua (suono). Durante il dettato nella lezione di lingua russa, invece, l'informazione viene convertita da una forma continua (voce dell'insegnante) a una discreta (registro studente).
Le informazioni presentate in forma discreta sono molto più facili per la trasmissione, l'archiviazione o l'elaborazione automatica. Pertanto, in informatica grande attenzione è riservata alle modalità di conversione delle informazioni da forma continua a forma discreta.
La discretizzazione delle informazioni è il processo di conversione delle informazioni da una forma continua di presentazione a una discreta.
Consideriamo l'essenza del processo di discretizzazione delle informazioni utilizzando un esempio.
Le stazioni meteorologiche dispongono di registratori per la registrazione continua della pressione atmosferica. Il risultato del loro lavoro sono i barogrammi - curve che mostrano come la pressione è cambiata per lunghi periodi di tempo. Una di queste curve, tracciata dal dispositivo durante sette ore di osservazione, è mostrata in Fig. 1.9.

Sulla base delle informazioni ricevute, è possibile costruire una tabella contenente le letture dello strumento all'inizio delle misurazioni e alla fine di ogni ora di osservazione (Fig. 1.10).

La tabella risultante non fornisce un quadro completamente completo di come la pressione sia cambiata durante il periodo di osservazione: ad esempio, non viene indicato il valore di pressione più grande che si è verificato durante la quarta ora di osservazione. Ma se inserisci nella tabella i valori di pressione osservati ogni mezz'ora o 15 minuti, allora nuova tabella darà un quadro più completo di come è cambiata la pressione.
Pertanto, abbiamo convertito le informazioni presentate in forma continua (barogramma, curva) in forma discreta (tabella) con una certa perdita di precisione.
In futuro, conoscerai i metodi di presentazione discreta di informazioni sonore e grafiche.

Le stringhe di tre simboli binari si ottengono integrando i codici binari a due bit sulla destra con il simbolo 0 o 1. Di conseguenza, le combinazioni di codici di tre simboli binari sono 8 - il doppio rispetto a due simboli binari:
Di conseguenza, un binario a quattro bit consente di ottenere 16 combinazioni di codici, cinque bit - 32, sei bit - 64, ecc. La lunghezza della stringa binaria - il numero di caratteri nel codice binario - è chiamata larghezza di bit del codice binario.
Notare che:
4 = 2 * 2,
8 = 2 * 2 * 2,
16 = 2 * 2 * 2 * 2,
32 = 2 * 2 * 2 * 2 * 2, ecc.
Qui, il numero di combinazioni di codice è il prodotto di un numero di fattori identici pari alla larghezza di bit del codice binario.
Se il numero di combinazioni di codici è indicato dalla lettera N e la larghezza di bit del codice binario dalla lettera i, il modello rivelato in forma generale verrà scritto come segue:
N = 2 * 2 * ... * 2.
i fattori
In matematica, tali prodotti sono scritti nella forma:
N = 2 io.
Il record 2 i si legge così: "2 nella i-esima potenza".

Compito. Il capo della tribù Multi ha incaricato il suo ministro di sviluppare un binario e di tradurre tutte le informazioni importanti in esso. Che tipo di binario è richiesto se l'alfabeto utilizzato dalla tribù Multi contiene 16 caratteri? Annota tutte le combinazioni di codici.
Soluzione. Poiché l'alfabeto della tribù Multi è composto da caratteri 16, hanno anche bisogno di combinazioni di codici 16. In questo caso, la lunghezza (larghezza) del codice binario è determinata dal rapporto: 16 = 2 i. Quindi io = 4.
Per scrivere tutte le combinazioni di codice dai quattro 0 e 1, usiamo il circuito in Fig. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110,0111,1000,1001,1010,1011,1100,1101,1110,1111.

1.5.3. Versatilità di codifica binaria
All'inizio di questa sezione, hai appreso che, presentato in forma continua, può essere espresso utilizzando simboli di un linguaggio naturale o formale. A loro volta, i caratteri di un alfabeto arbitrario possono essere convertiti in binario. Pertanto, con l'aiuto del codice binario, è possibile rappresentare qualsiasi linguaggio naturale e formale, nonché immagini e suoni (Fig. 1.14). Ciò significa l'universalità della codifica binaria.
I codici binari sono ampiamente utilizzati nella tecnologia informatica, richiedendo solo due stati del circuito elettronico: "on" (questo corrisponde al numero 1) e "off" (che corrisponde al numero 0).
La facilità di implementazione tecnica è il principale vantaggio della codifica binaria. Lo svantaggio della codifica binaria è la grande lunghezza del codice risultante.

1.5.4. Codici uniformi e non uniformi
Distinguere tra codici uniformi e non uniformi. I codici uniformi nelle combinazioni di codici contengono lo stesso numero di simboli, quelli irregolari - diversi.
Sopra, abbiamo esaminato i codici binari uniformi.
Un esempio di codice irregolare è il codice Morse, che definisce una sequenza di segnali acustici brevi e lunghi per ogni lettera e numero. Quindi, la lettera E corrisponde a un segnale breve ("punto") e la lettera - quattro segnali lunghi (quattro "trattini"). Uneven consente di aumentare la velocità di trasmissione dei messaggi a causa del fatto che i simboli che si trovano più spesso nelle informazioni trasmesse hanno le combinazioni di codici più brevi.

L'informazione che questo simbolo fornisce è pari all'entropia del sistema ed è massima nel caso in cui entrambi gli stati siano ugualmente probabili; in questo caso il simbolo elementare veicola l'informazione 1 (due unità). Pertanto, la base per una codifica ottimale sarà il requisito che i caratteri elementari nel testo codificato si presentino in media con la stessa frequenza.

Descriviamo qui un metodo per costruire un codice che soddisfi la condizione dichiarata; questo metodo è noto come codice Shannon-Fano. La sua idea è che i caratteri codificati (lettere o combinazioni di lettere) siano divisi in due gruppi approssimativamente ugualmente probabili: per il primo gruppo di caratteri, il primo posto della combinazione è 0 (il primo carattere del numero binario che rappresenta il carattere) ; per il secondo gruppo - 1. Inoltre, ogni gruppo è nuovamente diviso in due sottogruppi approssimativamente ugualmente probabili; per i simboli del primo sottogruppo, lo zero viene messo al secondo posto; per il secondo sottogruppo - uno, ecc.

Dimostriamo il principio di costruzione del codice Shannon - Feno sul materiale dell'alfabeto russo (Tabella 18.8.1). Contiamo le prime sei lettere (da "-" a "t"); sommando le loro probabilità (frequenze), otteniamo 0,498; tutte le altre lettere (da "n" a "sp") avranno approssimativamente la stessa probabilità di 0,502. Le prime sei lettere (da "-" a "t") avranno in primo luogo il segno binario 0. Il resto delle lettere (da "n" a "f") ne avrà uno in primo luogo. Inoltre, dividiamo ancora il primo gruppo in due sottogruppi approssimativamente ugualmente probabili: da "-" a "o" e da "e" a "t"; per tutte le lettere del primo sottogruppo al secondo posto, mettiamo zero e il secondo sottogruppo "- 1. Il processo continuerà fino a quando non ci sarà esattamente una lettera in ogni sottogruppo, che sarà codificata da un certo numero binario. Il meccanismo per la costruzione del codice è mostrato nella Tabella 18.8. .2, e il codice stesso è mostrato nella Tabella 18.8.3.

Tabella 18.8.2.

Segni binari

Tabella 18.8.3

Utilizzando la Tabella 18.8.3, è possibile codificare e decodificare qualsiasi messaggio.

Ad esempio, scriviamo in codice binario la frase: "teoria dell'informazione"

01110100001101000110110110000

0110100011111111100110100

1100001011111110101100110

Si noti che non è necessario separare le lettere l'una dall'altra con un segno speciale, poiché la decodifica viene eseguita in modo inequivocabile anche senza di essa. Ciò può essere verificato decodificando la seguente frase utilizzando la Tabella 18.8.2:

10011100110011001001111010000

1011100111001001101010000110101

010110000110110110

("Metodo di codifica").

Tuttavia, va notato che qualsiasi errore di codifica (confusione accidentale dei segni 0 e 1) con un tale codice è fatale, poiché la decodifica dell'intero testo successivo all'errore diventa impossibile. Pertanto, questo principio di codifica può essere raccomandato solo nel caso in cui gli errori durante la codifica e la trasmissione dei messaggi siano praticamente esclusi.

Sorge spontanea una domanda: il codice che abbiamo compilato in assenza di errori è davvero ottimale? Per rispondere a questa domanda, troviamo l'informazione media per un simbolo elementare (0 o 1) e confrontiamola con l'informazione massima possibile, che è uguale a una binaria. Per fare ciò, troviamo prima l'informazione media contenuta in una lettera del testo trasmesso, cioè l'entropia per lettera:

,

dove è la probabilità che la lettera assuma un certo stato ("-", o, e, a, ..., f).

Da tavola. 18.8.1 abbiamo

(due unità per lettera di testo).

Secondo la tabella 18.8.2, determiniamo il numero medio di caratteri elementari per lettera

Dividendo l'entropia per, otteniamo l'informazione per un simbolo elementare

(due unità).

Pertanto, le informazioni per carattere sono molto vicine al limite superiore di 1 e il codice che abbiamo scelto è molto vicino all'ottimale. Rimanere nell'ambito del compito di ortografia non è niente di meglio.

Nota che nel caso di codificare solo numeri binari di lettere, avremmo l'immagine di ogni lettera in cinque caratteri binari e le informazioni per carattere sarebbero

(due unità),

cioè, notevolmente inferiore rispetto a una codifica ottimale delle lettere.

Tuttavia, va notato che la codifica ortografica non è affatto economica. Il fatto è che c'è sempre una dipendenza tra lettere adiacenti di qualsiasi testo significativo. Ad esempio, dopo una vocale in russo, non possono esserci "ъ" o "ь"; dopo le sibilanti, "I" o "u" non possono stare in piedi; dopo diverse consonanti di seguito, aumenta la probabilità di una vocale, ecc.

Sappiamo che quando i sistemi dipendenti sono combinati, l'entropia totale è inferiore alla somma delle entropie dei singoli sistemi; quindi, l'informazione veicolata da un pezzo di testo coerente è sempre minore di un carattere moltiplicato per il numero di caratteri. Tenendo conto di questa circostanza, è possibile creare un codice più economico se si codificano non ciascuna lettera separatamente, ma interi "blocchi" di lettere. Ad esempio, nel testo russo ha senso codificare per intero alcune combinazioni di lettere frequenti, come "tsya", "aet", "nie", ecc. I blocchi codificati sono disposti in ordine decrescente di frequenza, come le lettere in tabella. 18.8.1 e la codifica binaria viene eseguita allo stesso modo.

In alcuni casi, risulta ragionevole non codificare nemmeno blocchi di lettere, ma interi pezzi di testo significativi. Ad esempio, per scaricare il telegrafo nei giorni festivi, è consigliabile codificare interi testi standard con numeri condizionali, come:

"Buon anno vi auguro buona salute e successo nel vostro lavoro".

Senza soffermarci specificamente sui metodi di codifica a blocchi, ci limitiamo a formulare il relativo teorema di Shannon.

Sia una fonte di informazione e un ricevitore collegati da un canale di comunicazione (Fig. 18.8.1).

È nota la produttività della fonte di informazione, cioè il numero medio di unità binarie di informazione provenienti dalla fonte per unità di tempo (numericamente, è pari all'entropia media del messaggio prodotto dalle fonti per unità di tempo). Lascia, inoltre, è noto portata canale, ovvero la quantità massima di informazioni (ad esempio, caratteri binari 0 o 1) che può essere trasmessa dal canale nella stessa unità di tempo. La domanda sorge spontanea: quale dovrebbe essere la larghezza di banda del canale per "affrontare" il suo compito, cioè affinché le informazioni dalla sorgente al ricevitore arrivino senza indugio?

La risposta a questa domanda è data dal primo teorema di Shannon. Diciamolo qui senza prove.

1° teorema di Shannon

Se la larghezza di banda del canale di comunicazione è maggiore dell'entropia della fonte di informazioni per unità di tempo

è sempre possibile codificare un messaggio sufficientemente lungo da essere trasmesso dal canale di comunicazione senza ritardi. Se, al contrario,

allora il trasferimento delle informazioni senza indugio è impossibile.


Ariabhata
cirillico
greco georgiano
etiope
ebreo
Akshara-sankhya Altro babilonese
egiziano
etrusco
romano
Danubio Attico
Kipu
Maya
Egeo
Simboli KPPU posizionale , , , , , , , , , , Nonga-posizionale Simmetrico Sistemi misti Fibonaccieva Non posizionale Singolo (unario)

Sistema numerico binario- sistema numerico posizionale con base 2. Grazie alla sua implementazione diretta nei circuiti elettronici digitali su porte logiche, il sistema binario è utilizzato in quasi tutti i computer moderni e altri dispositivi elettronici di calcolo.

Notazione binaria dei numeri

Nel sistema binario, i numeri vengono scritti utilizzando due caratteri ( 0 e 1 ). Per non essere confuso in quale sistema di numerazione è scritto il numero, viene fornito con un indicatore in basso a destra. Ad esempio, un numero decimale 5 10 , in binario 101 2 ... A volte un numero binario è indicato dal prefisso 0b o simbolo & (e commerciale), Per esempio 0b101 o rispettivamente &101 .

Nel sistema di numerazione binario (come in altri sistemi di numerazione diversi da quello decimale), i caratteri vengono letti uno alla volta. Ad esempio, il numero 101 2 si pronuncia "uno zero uno".

numeri interi

Un numero naturale scritto in binario come (a n - 1 a n - 2… a 1 a 0) 2 (\ stile di visualizzazione (a_ (n-1) a_ (n-2) \ punti a_ (1) a_ (0)) _ (2)), ha il significato:

(an - 1 an - 2… a 1 a 0) 2 = ∑ k = 0 n - 1 ak 2 k, (\ stile di visualizzazione (a_ (n-1) a_ (n-2) \ punti a_ (1) a_ ( 0)) _ (2) = \ somma _ (k = 0) ^ (n-1) a_ (k) 2 ^ (k),)

Numeri negativi

I numeri binari negativi sono indicati allo stesso modo dei numeri decimali: un segno "-" davanti al numero. Vale a dire, un intero binario negativo (- a n - 1 a n - 2… a 1 a 0) 2 (\ stile di visualizzazione (-a_ (n-1) a_ (n-2) \ punti a_ (1) a_ (0)) _ (2)), ha il valore:

(- a n - 1 a n - 2… a 1 a 0) 2 = - ∑ k = 0 n - 1 a k 2 k. (\ stile di visualizzazione (-a_ (n-1) a_ (n-2) \ punti a_ (1) a_ (0)) _ (2) = - \ somma _ (k = 0) ^ (n-1) a_ ( k) 2^ (k).)

codice aggiuntivo.

Numeri frazionari

Un numero frazionario scritto in binario come (an - 1 an - 2… a 1 a 0, a - 1 a - 2… a - (m - 1) a - m) 2 (\ stile di visualizzazione (a_ (n-1) a_ (n-2) \ punti a_ (1) a_ (0), a _ (- 1) a _ (- 2) \ punti a _ (- (m-1)) a _ (- m)) _ (2)), ha il valore:

(an - 1 an - 2… a 1 a 0, a - 1 a - 2… a - (m - 1) a - m) 2 = ∑ k = - mn - 1 ak 2 k, (\ stile di visualizzazione (a_ ( n-1) a_ (n-2) \ punti a_ (1) a_ (0), a _ (- 1) a _ (- 2) \ punti a _ (- (m-1)) a _ (- m )) _ ( 2) = \ somma _ (k = -m) ^ (n-1) a_ (k) 2 ^ (k),)

Addizione, sottrazione e moltiplicazione di numeri binari

Tabella delle addizioni

Esempio di addizione "colonna" (espressione decimale 14 10 + 5 10 = 19 10 in binario sembra 1110 2 + 101 2 = 10011 2):

Un esempio di moltiplicazione "colonna" (l'espressione decimale 14 10 * 5 10 = 70 10 in binario assomiglia a 1110 2 * 101 2 = 1000 110 2):

A partire dal numero 1, tutti i numeri vengono moltiplicati per due. Il punto dopo 1 è chiamato punto binario.

Conversione di numeri binari in decimali

Diciamo che è dato un numero binario 110001 2 ... Per convertire in decimale, scrivilo come somma di cifre come segue:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

La stessa cosa è leggermente diversa:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Puoi scriverlo sotto forma di tabella come segue:

512 256 128 64 32 16 8 4 2 1
1 1 0 0 0 1
+32 +16 +0 +0 +0 +1

Spostati da destra a sinistra. Sotto ogni unità binaria, scrivi il suo equivalente nella riga sottostante. Somma i numeri decimali risultanti. Pertanto, il numero binario 110001 2 è equivalente al decimale 49 10.

Conversione di numeri binari frazionari in decimali

Devo tradurre il numero 1011010,101 2 al sistema decimale. Scriviamo questo numero come segue:

1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 −1 + 0 * 2 −2 + 1 * 2 −3 = 90,625

La stessa cosa è leggermente diversa:

1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625

Oppure secondo la tabella:

64 32 16 8 4 2 1 0.5 0.25 0.125
1 0 1 1 0 1 0 , 1 0 1
+64 +0 +16 +8 +0 +2 +0 +0.5 +0 +0.125

Trasformazione di Horner

Per convertire i numeri da sistema binario a sistema decimale con questo metodo, è necessario sommare le cifre da sinistra a destra, moltiplicando il risultato precedentemente ottenuto per la base del sistema (in questo caso 2). Il metodo di Horner viene solitamente utilizzato per convertire da binario a decimale. L'operazione inversa è difficile, poiché richiede abilità nell'addizione e nella moltiplicazione nel sistema numerico binario.

Ad esempio, il numero binario 1011011 2 tradotto in sistema decimale in questo modo:

0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91

Cioè, nel sistema decimale, questo numero verrà scritto come 91.

Traduzione della parte frazionaria dei numeri con il metodo di Horner

I numeri sono presi dal numero da destra a sinistra e divisi per la base del sistema di numerazione (2).

Per esempio 0,1101 2

(0 + 1 )/2 = 0,5
(0,5 + 0 )/2 = 0,25
(0,25 + 1 )/2 = 0,625
(0,625 + 1 )/2 = 0,8125

Risposta: 0,1101 2 = 0,8125 10

Conversione di numeri decimali in binario

Diciamo che dobbiamo convertire il numero 19 in binario. È possibile utilizzare la seguente procedura:

19/2 = 9 con resto 1
9/2 = 4 con resto 1
4/2 = 2 senza resto 0
2/2 = 1 senza resto 0
1/2 = 0 con resto 1

Quindi dividiamo ogni quoziente per 2 e scriviamo il resto alla fine della notazione binaria. Continuiamo a dividere finché il quoziente è 0. Scrivi il risultato da destra a sinistra. Cioè, la cifra in basso (1) sarà la più a sinistra e così via.Di conseguenza, otteniamo il numero 19 in notazione binaria: 10011 .

Conversione di numeri decimali frazionari in binari

Se c'è una parte intera nel numero originale, allora viene convertita separatamente dalla parte frazionaria. La conversione di un numero frazionario dal sistema numerico decimale a binario viene effettuata secondo il seguente algoritmo:

  • La frazione viene moltiplicata per la base del sistema numerico binario (2);
  • Nel prodotto risultante, viene evidenziata la parte intera, che viene presa come il bit più significativo del numero nel sistema numerico binario;
  • L'algoritmo termina se la parte frazionaria del prodotto risultante è uguale a zero o se viene raggiunta l'accuratezza computazionale richiesta. In caso contrario, i calcoli continuano sulla parte frazionaria del prodotto.

Esempio: vuoi tradurre un numero decimale frazionario 206,116 ad una frazione binaria.

La traduzione dell'intera parte dà 206 10 = 11001110 2 secondo gli algoritmi precedentemente descritti. La parte frazionaria di 0,116 viene moltiplicata per la base 2, inserendo le parti intere del prodotto nelle cifre dopo la virgola del numero frazionario binario cercato:

0,116 2 = 0 ,232
0,232 2 = 0 ,464
0,464 2 = 0 ,928
0,928 2 = 1 ,856
0,856 2 = 1 ,712
0,712 2 = 1 ,424
0,424 2 = 0 ,848
0,848 2 = 1 ,696
0,696 2 = 1 ,392
0,392 2 = 0 ,784
eccetera.

Quindi, 0,116 10 ≈ 0, 0001110110 2

Otteniamo: 206.116 10 ≈ 11001110.0001110110 2

Applicazioni

Nei dispositivi digitali

Il sistema binario viene utilizzato nei dispositivi digitali, poiché è il più semplice e soddisfa i requisiti:

  • Meno valori esistono nel sistema, più facile è produrre singoli elementi operanti con questi valori. In particolare, due cifre del sistema numerico binario possono essere facilmente rappresentate da molti fenomeni fisici: c'è una corrente (la corrente è maggiore del valore di soglia) - non c'è corrente (la corrente è inferiore al valore di soglia), l'induzione campo magnetico superiore o meno al valore di soglia (l'induzione del campo magnetico è inferiore al valore di soglia), ecc.
  • Minore è il numero di stati di un elemento, maggiore è l'immunità al rumore e più veloce può funzionare. Ad esempio, per codificare tre stati attraverso l'ampiezza della tensione, della corrente o dell'induzione di un campo magnetico, è necessario inserire due valori di soglia e due comparatori,

V informatica la scrittura di numeri binari negativi in ​​complemento a due è ampiamente utilizzata. Ad esempio, il numero -5 10 può essere scritto come −101 2 ma verrà memorizzato come 2 in un computer a 32 bit.

Nel sistema di misure inglese

Quando si specificano le dimensioni lineari in pollici, tradizionalmente vengono utilizzate frazioni binarie, non decimali, ad esempio: 5¾ ″, 7 15/16 ″, 3 11/32 ″, ecc.

generalizzazioni

Il sistema numerico binario è una combinazione di un sistema di codifica binario e una funzione di peso esponenziale con base uguale a 2. Va notato che un numero può essere scritto in codice binario e il sistema numerico in questo caso potrebbe non essere binario, ma con una base diversa. Esempio: codifica BCD, in cui le cifre decimali sono scritte in forma binaria e il sistema numerico è decimale.

Storia

  • Un set completo di 8 trigrammi e 64 esagrammi, un analogo dei numeri a 3 e 6 bit, era noto nell'antica Cina nei testi classici del Libro dei Mutamenti. Ordine degli esagrammi in Libro dei Mutamenti, disposti secondo i valori delle corrispondenti cifre binarie (da 0 a 63), e il metodo per ottenerli è stato sviluppato dallo scienziato e filosofo cinese Shao Yun nell'XI secolo. Tuttavia, non ci sono prove che Shao Yong abbia compreso le regole dell'aritmetica binaria disponendo le tuple di due caratteri in ordine lessicografico.
  • Gli insiemi, che sono combinazioni di numeri binari, erano usati dagli africani nella divinazione tradizionale (come Ifa) insieme alla geomanzia medievale.
  • Nel 1854, il matematico inglese George Boole pubblicò un lavoro fondamentale che descrive i sistemi algebrici applicati alla logica, che ora è noto come algebra booleana o algebra della logica. Il suo calcolo logico era destinato a svolgere un ruolo importante nello sviluppo dei moderni circuiti elettronici digitali.
  • Nel 1937, Claude Shannon presentò la sua tesi di dottorato per la difesa Analisi simbolica di relè e circuiti di commutazione in cui l'algebra booleana e l'aritmetica binaria sono state utilizzate in relazione a relè e interruttori elettronici. Tutta la moderna tecnologia digitale si basa essenzialmente sulla tesi di Shannon.
  • Nel novembre 1937, George Stiebitz, che in seguito lavorò ai Bell Labs, creò un computer modello K basato sul relè. K itchen ”, la cucina dove è stato fatto il montaggio), che ha eseguito l'addizione binaria. Alla fine del 1938, Bell Labs ha lanciato un programma di ricerca guidato da Stibitz. Il computer creato sotto la sua guida, completato l'8 gennaio 1940, era in grado di eseguire operazioni con numeri complessi. Durante una dimostrazione alla conferenza dell'American Mathematical Society al Dartmouth College l'11 settembre 1940, Stiebitz dimostrò la capacità di inviare comandi a un calcolatore remoto di numeri complessi utilizzando linea telefonica utilizzando una telescrivente. Questo è stato il primo tentativo di utilizzare un computer remoto tramite una linea telefonica. Tra i partecipanti alla conferenza che hanno assistito alla dimostrazione c'erano John von Neumann, John Mauchly e Norbert Wiener, che in seguito ne scrissero nelle loro memorie.

Guarda anche

Note (modifica)

  1. Popova Olga Vladimirovna. Tutorial di informatica (non specificato) .

Il codice binario è testo, istruzioni del processore del computer o altri dati che utilizzano qualsiasi sistema a due caratteri. Molto spesso si tratta di un sistema di 0 e 1. assegna uno schema di cifre binarie (bit) a ciascun carattere e istruzione. Ad esempio, una stringa binaria a otto bit può rappresentare uno qualsiasi dei 256 valori possibili e quindi può generare molti elementi diversi. Le revisioni del codice binario della comunità professionale mondiale dei programmatori indicano che questa è la base della professione e la principale legge di funzionamento sistemi informatici e dispositivi elettronici.

Decodifica del codice binario

Nell'informatica e nelle telecomunicazioni, i codici binari vengono utilizzati per vari metodi di codifica dei caratteri dei dati in stringhe di bit. Questi metodi possono utilizzare stringhe di larghezza fissa o variabile. Ci sono molti set di caratteri e codifiche per la traduzione in binario. Nel codice a larghezza fissa, ogni lettera, numero o altro carattere è rappresentato da una stringa di bit della stessa lunghezza. Questa stringa di bit, interpretata come un numero binario, viene solitamente visualizzata nelle tabelle di codici in notazione ottale, decimale o esadecimale.

Decodifica del codice binario: una stringa di bit interpretata come un numero binario può essere convertita in un numero decimale. Ad esempio, la lettera a minuscola, se rappresentata dalla stringa di bit 01100001 (come nel codice ASCII standard), può essere rappresentata anche come decimale 97. La traduzione di un codice binario in testo è la stessa procedura, solo in ordine inverso.

Come funziona

In cosa consiste un codice binario? Il codice utilizzato nei computer digitali si basa sul quale esistono solo due possibili stati: on. e spento, solitamente indicato da zero e uno. Se nel sistema decimale, che utilizza 10 cifre, ogni posizione è un multiplo di 10 (100, 1000, ecc.), allora nel sistema binario, ogni posizione digitale è un multiplo di 2 (4, 8, 16, ecc. ). Un segnale in codice binario è una serie di impulsi elettrici che rappresentano numeri, simboli e operazioni che devono essere eseguite.

Un dispositivo chiamato orologio invia impulsi regolari e componenti come i transistor si accendono (1) o si spengono (0) per trasmettere o bloccare gli impulsi. In binario, ogni numero decimale (0-9) è rappresentato da un insieme di quattro cifre binarie o bit. Le quattro operazioni aritmetiche fondamentali (addizione, sottrazione, moltiplicazione e divisione) possono essere ridotte a combinazioni di operazioni algebriche booleane fondamentali su numeri binari.

Un bit nella teoria della comunicazione e dell'informazione è un'unità di dati equivalente alla scelta tra due possibili alternative nel sistema di numeri binari comunemente utilizzato nei computer digitali.

Revisioni del codice binario

La natura del codice e dei dati è una parte fondamentale del mondo fondamentale dell'IT. Questo strumento è utilizzato da specialisti del mondo IT "dietro le quinte" - programmatori la cui specializzazione è nascosta all'attenzione di un utente normale. Il feedback degli sviluppatori sul codice binario suggerisce che quest'area richiede un apprendimento approfondito. fondamenti matematici e una vasta pratica nel campo dell'analisi matematica e della programmazione.

Il codice binario è la forma più semplice di codice per computer o dati di programmazione. È completamente rappresentato dal sistema binario dei numeri. Secondo le revisioni del codice binario, è spesso associato al codice macchina, poiché gli insiemi binari possono essere combinati per formare codice sorgente che viene interpretato da un computer o altro hardware. Questo è in parte vero. utilizza insiemi di cifre binarie per formare istruzioni.

Insieme alla forma di codice più elementare, un binario è anche la più piccola quantità di dati che scorre attraverso tutti i complessi sistemi hardware e software complessi che gestiscono le risorse e le risorse di dati di oggi. La più piccola quantità di dati è chiamata bit. Le stringhe di bit correnti diventano codice o dati che vengono interpretati dal computer.

numero binario

In matematica ed elettronica digitale, un numero binario è un numero espresso in base 2 o binario sistema digitale che utilizza solo due caratteri: 0 (zero) e 1 (uno).

Il sistema numerico in base 2 è una notazione posizionale con un raggio di 2. Ogni cifra è indicata come un bit. Grazie alla sua semplice implementazione in digitale circuiti elettronici utilizzando regole logiche, il sistema binario è utilizzato da quasi tutti i computer e i dispositivi elettronici moderni.

Storia

Il moderno sistema binario di numeri come base per il codice binario fu inventato da Gottfried Leibniz nel 1679 e presentato nel suo articolo "Spiegare l'aritmetica binaria". I numeri binari erano al centro della teologia di Leibniz. Credeva che i numeri binari simboleggiassero l'idea cristiana della creatività ex nihilo, o creazione dal nulla. Leibniz ha cercato di trovare un sistema che trasformasse le affermazioni verbali della logica in dati puramente matematici.

I sistemi binari precedenti a Leibniz esistevano anche nel mondo antico. Un esempio è il sistema binario cinese I Ching, dove il testo per la predizione si basa sulla dualità di yin e yang. In Asia e in Africa, per codificare i messaggi venivano utilizzati tamburi a fessura con toni binari. Lo studioso indiano Pingala (circa V secolo aC) sviluppò un sistema binario per descrivere la prosodia nel suo Chandashutrem.

Gli abitanti dell'isola di Mangareva nella Polinesia francese usavano un sistema ibrido binario-decimale fino al 1450. Nell'XI secolo, lo scienziato e filosofo Shao Yong sviluppò un metodo per organizzare gli esagrammi che corrisponde alla sequenza da 0 a 63, rappresentata in formato binario, con yin uguale a 0, yang uguale a 1. L'ordine è anche un ordine lessicografico in blocchi di elementi selezionati da un insieme di due elementi.

Nuovo tempo

Nel 1605, ha discusso un sistema in cui le lettere dell'alfabeto potrebbero essere ridotte a sequenze di cifre binarie, che potrebbero poi essere codificate come sottili variazioni del carattere in qualsiasi testo casuale... È importante notare che è stato Francis Bacon ad aggiungere teoria generale osservazione di codifica binaria che questo metodo può essere utilizzato con qualsiasi oggetto.

Un altro matematico e filosofo di nome George Boole pubblicò un articolo nel 1847 intitolato "Analisi matematica della logica", che descrive il sistema algebrico della logica noto oggi come algebra booleana. Il sistema si basava su un approccio binario, che consisteva in tre operazioni principali: AND, OR e NOT. Questo sistema non fu messo in funzione fino a quando uno studente laureato al MIT di nome Claude Shannon notò che l'algebra booleana che studiava sembrava un circuito elettrico.

Shannon ha scritto una tesi nel 1937 che ha tratto importanti conclusioni. La tesi di Shannon divenne il punto di partenza per l'uso del codice binario in applicazioni pratiche come computer e circuiti elettrici.

Altre forme di codice binario

Una stringa di bit non è l'unico tipo di codice binario. Un sistema binario nel suo insieme è qualsiasi sistema che consente solo due opzioni, come un interruttore in sistema elettronico o un semplice test vero o falso.

Il Braille è un tipo di codice binario ampiamente utilizzato dai non vedenti per leggere e scrivere al tatto, dal nome del suo creatore Louis Braille. Questo sistema è costituito da griglie di sei punti ciascuna, tre per colonna, in cui ogni punto ha due stati: rialzato o approfondito. Varie combinazioni di punti sono in grado di rappresentare tutte le lettere, i numeri e i segni di punteggiatura.

americano codice standard for Information Interchange (ASCII) utilizza un codice binario a 7 bit per rappresentare testo e altri caratteri in computer, apparecchiature di comunicazione e altri dispositivi. Ad ogni lettera o simbolo è assegnato un numero da 0 a 127.

Il valore decimale codificato binario o BCD è una rappresentazione codificata binaria di valori interi che utilizza un grafico a 4 bit per codificare le cifre decimali. I quattro bit binari possono codificare fino a 16 valori diversi.

Nei numeri con codifica BCD, solo i primi dieci valori in ogni bocconcino sono validi e codificano cifre decimali da zero a nove. Gli altri sei valori non sono validi e possono causare un'eccezione della macchina o un comportamento non specificato, a seconda dell'implementazione dell'aritmetica BCD da parte del computer.

L'aritmetica BCD è talvolta preferita rispetto ai formati numerici in virgola mobile nelle applicazioni commerciali e finanziarie in cui un comportamento di arrotondamento dei numeri complesso è indesiderabile.

Applicazione

Maggioranza computer moderni utilizzare un programma in codice binario per istruzioni e dati. CD, DVD e dischi Blu-ray rappresentano audio e video in formato binario. Chiamate telefoniche trasferiti digitalmente su reti a lunga distanza e mobili collegamento telefonico utilizzando la modulazione del codice a impulsi e le reti Voice over IP.

Scopriamo come lo stesso tradurre testi in codice digitale? A proposito, sul nostro sito puoi tradurre qualsiasi testo in codice decimale, esadecimale, binario utilizzando il calcolatore di codice online.

Codifica del testo.

Secondo la teoria del computer, qualsiasi testo è costituito da singoli caratteri. Questi simboli includono: lettere, numeri, segni di punteggiatura minuscola, caratteri speciali ("", No., (), ecc.), Includono anche spazi tra le parole.

Base di conoscenza necessaria. L'insieme dei simboli con cui scrivo il testo si chiama ALFABETO.

Il numero di caratteri nell'alfabeto rappresenta la sua cardinalità.

La quantità di informazioni può essere determinata dalla formula: N = 2b

  • N - la stessa cardinalità (insieme di simboli),
  • b - Bit (peso del carattere preso).

L'alfabeto, che sarà 256, può contenere quasi tutti i caratteri necessari. Tali alfabeti sono chiamati SUFFICIENTI.

Se prendiamo un alfabeto con una capacità di 256, e teniamo presente che 256 = 28

  • 8 bit sono sempre indicati come 1 byte:
  • 1 byte = 8 bit.

Se traduci ogni carattere in codice binario, questo codice di testo del computer occuperà 1 byte.

Come possono apparire le informazioni di testo nella memoria del computer?

Qualsiasi testo viene digitato sulla tastiera, sui tasti della tastiera, vediamo i caratteri a noi familiari (numeri, lettere, ecc.). Entrano nella RAM del computer solo sotto forma di codice binario. Il codice binario di ogni carattere ha l'aspetto di un numero di otto cifre, ad esempio 00111111.

Poiché un byte è la più piccola particella di memoria indirizzabile e la memoria è indirizzata a ciascun carattere separatamente, la comodità di tale codifica è ovvia. Tuttavia, 256 caratteri è un numero molto conveniente per qualsiasi informazione sui caratteri.

Naturalmente, è sorta la domanda: che cosa esattamente? codice a otto bit appartiene a ciascun personaggio? E come tradurre il testo in un codice digitale?

Questo processo è condizionato e abbiamo il diritto di inventare vari modi per codificare i caratteri... Ogni carattere dell'alfabeto ha il proprio numero da 0 a 255. E ad ogni numero viene assegnato un codice da 00000000 a 11111111.

La tabella di codifica è un "cheat sheet" in cui i caratteri dell'alfabeto sono indicati secondo il numero ordinale. Per tipi diversi I computer utilizzano tabelle diverse per la codifica.

ASCII (o Aski) è diventato lo standard internazionale per i personal computer. La tabella ha due parti.

La prima metà è per la tabella ASCII. (Era la prima metà che divenne lo standard.)

Il rispetto dell'ordine lessicografico, ovvero nella tabella le lettere (minuscole e maiuscole) sono indicate in rigoroso ordine alfabetico e i numeri in ordine crescente è chiamato il principio della codifica sequenziale dell'alfabeto.

Per l'alfabeto russo osservano anche principio di codifica sequenziale.

Ora, nel nostro tempo, usano l'intero cinque sistemi di codifica Alfabeto russo (KOI8-R, Windows. MS-DOS, Macintosh e ISO). A causa del numero di sistemi di codifica e dell'assenza di uno standard, spesso sorgono malintesi con il trasferimento del testo russo nel suo formato informatico.

Uno dei primi standard per la codifica dell'alfabeto russo e via computer personale considerare KOI8 ("Codice di scambio di informazioni, 8 bit"). Questa codifica è stata utilizzata a metà degli anni settanta su una serie di computer ES, e dalla metà degli anni ottanta ha iniziato ad essere utilizzata nei primi sistemi operativi UNIX tradotti in russo.

Dall'inizio degli anni novanta, il cosiddetto periodo in cui dominava il sistema operativo MS DOS, è apparso il sistema di codifica CP866 ("CP" sta per "Code Page").

Le grandi aziende informatiche APPLE, con il loro sistema innovativo in base al quale operavano (Mac OS), stanno iniziando a utilizzare il proprio sistema per codificare l'alfabeto MAC.

L'Organizzazione internazionale per la standardizzazione (International Standards Organization, ISO) nomina un altro standard per la lingua russa sistema per codificare l'alfabeto chiamato ISO 8859-5.

E il sistema più comune, oggigiorno, per codificare l'alfabeto, è stato inventato in Microsoft Windows, e si chiama CP1251.

Dalla seconda metà degli anni novanta il problema dello standard per la traduzione del testo in codice digitale per la lingua russa e non solo è stato risolto introducendo uno standard di sistema chiamato Unicode. È rappresentato da una codifica a sedici bit, il che significa che vengono allocati esattamente due byte per ogni carattere. memoria ad accesso casuale... Naturalmente, con questa codifica, i costi della memoria sono raddoppiati. Tuttavia, un tale sistema di codifica consente di tradurre in codice elettronico fino a 65536 caratteri.

La specificità del sistema Unicode standard è l'inclusione di qualsiasi alfabeto, sia esso esistente, estinto, inventato. In definitiva, assolutamente qualsiasi alfabeto, oltre al sistema Unicode, include molti simboli matematici, chimici, musicali e generali.

Usiamo una tabella ASCII per vedere come potrebbe apparire una parola nella memoria del tuo computer.

Accade spesso che il tuo testo, che è scritto in lettere dell'alfabeto russo, non sia leggibile, ciò è dovuto alla differenza nei sistemi di codifica dell'alfabeto sui computer. Questo è un problema molto comune che si riscontra abbastanza spesso.

Viene chiamato l'insieme di caratteri con cui viene scritto il testo alfabeto.

Il numero di caratteri dell'alfabeto è suo potenza.

Formula per determinare la quantità di informazioni: N = 2 b,

dove N è la cardinalità dell'alfabeto (numero di caratteri),

b - numero di bit (peso informativo del carattere).

L'alfabeto con una capacità di 256 caratteri può contenere quasi tutti i caratteri necessari. Questo alfabeto si chiama sufficiente.

Perché 256 = 2 8, quindi il peso di 1 carattere è 8 bit.

L'unità a 8 bit è stata nominata 1 byte:

1 byte = 8 bit.

Il codice binario di ogni carattere nel testo del computer occupa 1 byte di memoria.

Come vengono rappresentate le informazioni di testo nella memoria del computer?

La comodità della codifica dei caratteri in byte è ovvia, poiché un byte è la parte più piccola della memoria indirizzabile e, quindi, il processore può accedere a ciascun carattere separatamente, eseguendo l'elaborazione del testo. D'altra parte, 256 caratteri è un numero abbastanza sufficiente per rappresentare un'ampia varietà di informazioni sui caratteri.

Ora sorge la domanda, che tipo di codice binario a otto bit assegnare a ciascun carattere.

È chiaro che questa è una questione condizionale, puoi trovare molti metodi di codifica.

Tutti i caratteri dell'alfabeto del computer sono numerati da 0 a 255. Ogni numero corrisponde a un codice binario di otto cifre da 00000000 a 11111111. Questo codice è semplicemente il numero ordinale del carattere nel sistema binario.

La tabella in cui tutti i caratteri dell'alfabeto del computer sono assegnati ai numeri di serie è chiamata tabella di codifica.

Per tipi diversi I computer utilizzano varie tabelle di codifica.

Lo standard internazionale per il PC è diventato il tavolo ASCII(leggi asci) (Codice standard americano per lo scambio di informazioni).

La tabella ASCII è divisa in due parti.

Lo standard internazionale è solo la prima metà della tabella, ad es. simboli con numeri da 0 (00000000), fino a 127 (01111111).

Struttura della tabella di codifica ASCII

Numero di serie

Codice

Simbolo

0 - 31

00000000 - 00011111

I simboli con numeri da 0 a 31 sono generalmente chiamati caratteri di controllo.
La loro funzione è controllare il processo di visualizzazione del testo sullo schermo o la stampa, l'alimentazione segnale sonoro, markup del testo, ecc.

32 - 127

00100000 - 01111111

Parte standard della tabella (inglese). Ciò include lettere minuscole e maiuscole dell'alfabeto latino, cifre decimali, segni di punteggiatura, tutti i tipi di parentesi, simboli commerciali e di altro tipo.
Il carattere 32 è uno spazio, ad es. posizione vuota nel testo.
Tutti gli altri si riflettono in certi segni.

128 - 255

10000000 - 11111111

Parte alternativa del tavolo (russo).
La seconda metà della tabella dei codici ASCII, chiamata code page (128 codici, a partire da 10000000 e termina con 11111111), può avere diverse varianti, ogni variante ha il proprio numero.
La tabella codici viene utilizzata principalmente per ospitare alfabeti nazionali diversi dal latino. Nelle codifiche nazionali russe, questa parte della tabella contiene i simboli dell'alfabeto russo.

La prima metà della tabella ASCII


Attiro la tua attenzione sul fatto che nella tabella di codifica, le lettere (maiuscole e minuscole) sono disposte in ordine alfabetico e i numeri sono ordinati in ordine crescente di valori. Questa osservanza dell'ordine lessicografico nella disposizione dei caratteri è chiamata il principio della codifica sequenziale dell'alfabeto.

Per le lettere dell'alfabeto russo si osserva anche il principio della codifica sequenziale.

La seconda metà della tabella ASCII


Sfortunatamente, ci sono attualmente cinque diverse codifiche cirilliche (KOI8-R, Windows. MS-DOS, Macintosh e ISO). Per questo motivo, spesso sorgono problemi con il trasferimento di testo russo da un computer a un altro, da uno sistema software ad un altro.

Cronologicamente, uno dei primi standard per la codifica delle lettere russe sui computer era KOI8 ("Codice di scambio di informazioni, 8 bit"). Questa codifica è stata utilizzata negli anni '70 sui computer della serie di computer ES e dalla metà degli anni '80 ha iniziato a essere utilizzata nelle prime versioni russificate. sistema operativo UNIX.

Dall'inizio degli anni '90, epoca del predominio del sistema operativo MS DOS, rimane la codifica CP866 ("CP" sta per "Code Page").

Computer Apple che gestiscono una sala operatoria Sistemi Mac OS, usa la propria codifica Mac.

Inoltre, l'International Standards Organization (ISO) ha approvato un'altra codifica chiamata ISO 8859-5 come standard per la lingua russa.

Attualmente, la codifica più comune è Microsoft Windows, abbreviata in CP1251.

Dalla fine degli anni '90, il problema della standardizzazione della codifica dei caratteri è stato risolto con l'introduzione di un nuovo standard internazionale chiamato Unicode... Questa è una codifica a 16 bit, ad es. alloca 2 byte di memoria per ogni carattere. Ovviamente, questo raddoppia la quantità di memoria utilizzata. Ma d'altra parte, una tale tabella di codici consente l'inclusione di un massimo di 65536 caratteri. La specifica completa dello standard Unicode include tutti gli alfabeti esistenti, estinti e creati artificialmente del mondo, nonché molti simboli matematici, musicali, chimici e di altro tipo.

Proviamo a usare una tabella ASCII per immaginare come appariranno le parole nella memoria del computer.

Rappresentazione interna delle parole nella memoria del computer

A volte capita che un testo composto da lettere dell'alfabeto russo, ricevuto da un altro computer, non possa essere letto - una sorta di "senza senso" è visibile sullo schermo del monitor. Ciò è dovuto al fatto che i computer utilizzano una codifica diversa dei caratteri della lingua russa.

LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam