Computer finestre Internet

Come nel codice binario sarà la parola ciao. Alfabeto russo in codice binario. Codifica binaria alfabetica uniforme. Codice di byte. Capire i numeri binari

Il termine "binario" nel senso - composto da due parti, componenti. Pertanto, i codici binari sono codici costituiti da due soli stati simbolici, come nero o bianco, chiaro o scuro, conduttore o isolante. Un codice binario nella tecnologia digitale è un modo di rappresentare dati (numeri, parole e altri) sotto forma di una combinazione di due caratteri, che possono essere designati come 0 e 1. I caratteri o le unità BC sono chiamati bit. Una delle giustificazioni per l'uso di BC è la semplicità e l'affidabilità dell'accumulo di informazioni in qualsiasi mezzo sotto forma di una combinazione di solo due dei suoi stati fisici, ad esempio, sotto forma di un cambiamento o costanza del flusso luminoso quando lettura da un disco di codice ottico.
Ci sono varie possibilità per la codifica delle informazioni.

Codice binario

Nella tecnologia digitale, un metodo per rappresentare i dati (numeri, parole e altri) come una combinazione di due caratteri, che possono essere designati come 0 e 1. I caratteri o le unità della DC sono chiamati bit.

Una delle giustificazioni per l'uso della DC è la semplicità e l'affidabilità dell'accumulo di informazioni in qualsiasi mezzo sotto forma di una combinazione di solo due dei suoi stati fisici, ad esempio sotto forma di un cambiamento o costanza del flusso magnetico in una data cella di un supporto di registrazione magnetico.

Il numero più grande che può essere espresso in binario dipende dal numero di bit utilizzati, ad es. sul numero di bit in una combinazione che esprime un numero. Ad esempio, per esprimere valori numerici da 0 a 7, è sufficiente avere un codice a 3 bit o a 3 bit:

valore numerico codice binario
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Da ciò si vede che per un numero maggiore di 7 con codice a 3 bit non esistono più combinazioni di codice 0 e 1.

Passando dai numeri alle quantità fisiche, formuleremo l'affermazione di cui sopra in più vista generale: il maggior numero di valori m di qualsiasi grandezza (temperatura, tensione, corrente, ecc.) che può essere espresso in codice binario dipende dal numero di bit utilizzati n come m = 2n. Se n = 3, come nell'esempio considerato, otteniamo 8 valori, incluso lo 0 iniziale.
Il codice binario è un codice a più passaggi. Ciò significa che quando ci si sposta da una posizione (valore) a un'altra, più bit possono cambiare contemporaneamente. Ad esempio, il numero 3 in codice binario= 011. Il numero 4 nel codice binario = 100. Di conseguenza, passando da 3 a 4, tutti e 3 i bit cambiano contemporaneamente il loro stato in quello opposto. La lettura di un tale codice dal code disc porterebbe al fatto che, a causa di inevitabili deviazioni (tolleranze) nella produzione del code disc, la modifica delle informazioni da ciascuna delle tracce separatamente non avverrà mai contemporaneamente. Questo, a sua volta, porterebbe al fatto che durante il passaggio da un numero all'altro verrebbero visualizzate per breve tempo informazioni errate. Quindi, con la suddetta transizione dal numero 3 al numero 4, è molto probabile un output a breve termine del numero 7 quando, ad esempio, il bit più significativo durante la transizione ha cambiato il suo valore un po' prima del resto. Per evitare ciò, viene utilizzato un cosiddetto codice one-step, ad esempio il cosiddetto codice gray.

Codice grigio

Il codice gray è il cosiddetto codice one-step, ovvero quando ci si sposta da un numero all'altro, cambia sempre solo uno di tutti i bit di informazione. Un errore nella lettura delle informazioni da un disco di codice meccanico durante lo spostamento da un numero all'altro porterà solo al fatto che il passaggio da una posizione all'altra sarà solo leggermente spostato nel tempo, tuttavia, l'emissione di un valore completamente errato del la posizione angolare quando ci si sposta da una posizione all'altra è completamente esclusa ...
Il vantaggio del Gray Code è anche la sua capacità di rispecchiare le informazioni. Quindi, invertendo il bit più significativo, puoi semplicemente cambiare la direzione di conteggio e quindi adattarti alla direzione di rotazione (fisica) effettiva dell'asse. La modifica della direzione di conteggio in questo modo può essere facilmente modificata manipolando il cosiddetto ingresso "Complemento". Il valore restituito può quindi essere crescente o decrescente per lo stesso senso di rotazione fisico dell'asse.
Poiché le informazioni espresse in codice Gray sono puramente codificate, non si tratta di un vero e proprio vettore. informazioni numeriche deve prima essere convertito in binario standard prima di un'ulteriore elaborazione. Questo viene fatto utilizzando un convertitore di codice (decodificatore Gray-Binar) che, fortunatamente, è facilmente implementabile utilizzando una catena di elementi logici "esclusivi o" (XOR), sia nel software che nell'hardware.

Corrispondenza di numeri decimali nell'intervallo da 0 a 15 a codice binario e codice gray

Codifica binaria Codifica grigia
Codice decimale
Valore binario Sedici. significato Codice decimale Valore binario Sedici. significato
0 0000 0h 0 0000 0h
1 0001 1 ora 1 0001 1 ora
2 0010 2h 3 0011 3h
3 0011 3h 2 0010 2h
4 0100 4h 6 0110 6h
5 0101 5h 7 0111 7h
6 0110 6h 5 0101 5h
7 0111 7h 4 0100 4h
8 1000 8h 12 1100 Ch
9 1001 9h 13 1101 Dh
10 1010 Ah 15 1111 Fh
11 1011 bh 14 1110 eh
12 1100 Ch 10 1010 Ah
13 1101 Dh 11 1011 bh
14 1110 eh 9 1001 9h
15 1111 Fh 8 1000 8h

La conversione del codice Gray in un codice binario familiare può essere eseguita utilizzando schema semplice con inverter e porte “exclusive-or” come mostrato di seguito:

Codice in eccesso di grigio

Il solito codice gray ad un passo è adatto per risoluzioni che possono essere rappresentate come un numero elevato a una potenza di 2. Nei casi in cui è necessario implementare altre risoluzioni dal solito codice gray, la sua sezione centrale viene ritagliata e utilizzata. Pertanto, il codice "one-step" viene preservato. Tuttavia, l'intervallo numerico non inizia da zero, ma è compensato da un valore specifico. Durante l'elaborazione delle informazioni, metà della differenza tra la risoluzione originale e quella ridotta viene sottratta dal segnale generato. Risoluzioni come 360? per esprimere un angolo sono spesso implementati con questo metodo. Quindi un codice Gray a 9 bit pari a 512 step, rifilato su entrambi i lati di 76 step sarà pari a 360°.

I computer non capiscono parole e numeri come fanno gli umani. Moderno Software consente all'utente finale di ignorarlo, ma ai livelli più bassi il computer funziona su un segnale elettrico binario che ha solo due stati: se c'è corrente o no. Per "capire" dati complessi, il tuo computer deve codificarli in formato binario.

Il sistema binario si basa su due cifre, 1 e 0, che corrispondono agli stati di attivazione e disattivazione che il tuo computer può comprendere. Probabilmente hai familiarità con il sistema decimale. Utilizza dieci cifre, da 0 a 9, quindi passa all'ordine successivo per formare numeri a due cifre, con una cifra di ogni ordine successivo dieci volte più grande di quella precedente. Il sistema binario è simile, con ogni cifra due volte più grande della precedente.

Conteggio in binario

In binario, la prima cifra è il decimale 1. La seconda cifra è 2, la terza è 4, la quarta è 8 e così via: raddoppia ogni volta. L'aggiunta di tutti questi valori ti darà un numero decimale.

1111 (binario) = 8 + 4 + 2 + 1 = 15 (decimale)

La contabilità 0 ci fornisce 16 possibili valori per quattro bit binari. Sposta 8 bit e ottieni 256 valori possibili. Questo richiede molto più spazio per essere rappresentato, poiché quattro cifre decimali ci danno 10.000 valori possibili. Ovviamente, il codice binario occupa più spazio, ma i computer capiscono i binari molto meglio dei decimali. E per alcune cose, come l'elaborazione logica, il binario è migliore del decimale.

Va detto che esiste un altro sistema di base che viene utilizzato nella programmazione: esadecimale... Sebbene i computer non funzionino in formato esadecimale, i programmatori lo utilizzano per rappresentare indirizzi binari in un formato leggibile dall'uomo quando scrivono il codice. Questo perché due cifre di un numero esadecimale possono rappresentare un intero byte, ovvero sostituiscono otto cifre in binario. Il sistema esadecimale utilizza i numeri 0-9 e le lettere dalla A alla F per fornire altre sei cifre.

Perché i computer usano i binari?

La risposta breve è: Hardware e le leggi della fisica. Ogni carattere sul tuo computer è un segnale elettrico, e nei primi giorni dell'informatica, i segnali elettrici erano molto più difficili da misurare. Aveva più senso distinguere tra solo lo stato "on", rappresentato da una carica negativa, e lo stato "off", rappresentato da una carica positiva.

Per coloro che non sanno perché "off" è rappresentato da una carica positiva, ciò è dovuto al fatto che gli elettroni hanno una carica negativa e più elettroni - più corrente con una carica negativa.

Così, i primi computer delle dimensioni di una stanza utilizzati binari per costruire i loro sistemi, e sebbene usassero hardware più vecchio e più ingombrante, operavano sugli stessi principi fondamentali. Computer moderni usa il cosiddetto transistor per eseguire calcoli con codice binario.

Ecco uno schema di un tipico transistor:

In sostanza, consente alla corrente di fluire dalla sorgente allo scarico se c'è corrente nel gate. Questo forma una chiave binaria. I produttori possono rendere questi transistor incredibilmente piccoli, fino a 5 nanometri o fino a due filamenti di DNA. Ecco come funzionano processori moderni, e anche loro possono soffrire di problemi di distinzione tra stati on e off (sebbene ciò sia dovuto alla loro dimensione molecolare irrealistica, soggetta a stranezze della meccanica quantistica).

Perché solo sistema binario

Quindi potresti pensare: "Perché solo 0 e 1? Perché non aggiungere un altro numero?" Sebbene ciò sia in parte dovuto alla tradizione di creare computer, l'aggiunta di un'altra cifra significherebbe che c'è un altro stato di corrente da evidenziare, non solo spento o acceso.

Il problema qui è che se si desidera utilizzare più livelli di tensione, è necessario un modo per calcolare facilmente con essi e l'hardware moderno in grado di farlo non è praticabile in sostituzione del calcolo binario. Ad esempio, c'è un cosiddetto triplo computer sviluppato negli anni '50, ma lo sviluppo si è fermato lì. logica ternaria più efficiente del binario, ma non esiste ancora un sostituto efficace per il transistor binario, o almeno non esiste un transistor così piccolo come il binario.

Il motivo per cui non possiamo usare la tripla logica dipende dal modo in cui i transistor sono collegati in un computer e da come vengono utilizzati per i calcoli matematici. Il transistor riceve informazioni su due ingressi, esegue un'operazione e restituisce il risultato a un'uscita.

Quindi, la matematica binaria è più facile sul computer che su qualsiasi altra cosa. La logica binaria viene facilmente convertita in sistemi binari, con True e False corrispondenti agli stati On e Off.

Una tabella di verità binaria operante su logica binaria avrà quattro possibili uscite per ogni operazione fondamentale. Ma, poiché il triplo cancello utilizza tre ingressi, la tabella della tripla verità dovrebbe avere 9 o più. Mentre il sistema binario ha 16 possibili operatori (2 ^ 2 ^ 2), il sistema ternario avrebbe 19683 (3 ^ 3 ^ 3). Il ridimensionamento diventa un problema perché, mentre il ternario è più efficiente, è anche esponenzialmente più complesso.

Chi lo sa? In futuro, è del tutto possibile che vedremo computer trigeminali, poiché la logica binaria ha dovuto affrontare problemi di miniaturizzazione. Per ora, il mondo continuerà a funzionare in modalità binaria.

Ho deciso di creare uno strumento come convertire il testo in codice binario e viceversa, ci sono tali servizi, ma di solito funzionano con l'alfabeto latino, il mio è il traduttore lavora con codifica unicode Formato UTF-8 che codifica i caratteri cirillici in due byte. questo momento le capacità del traduttore sono limitate alle codifiche a doppio byte, ad es. I caratteri cinesi non possono essere trasmessi, ma correggerò questo fastidioso malinteso.

Per convertire il testo in binario inserisci il testo nella finestra di sinistra e premi TEXT-> BIN, la sua rappresentazione binaria apparirà nella finestra di destra.

Per convertire il codice binario in testo inserire il codice nella finestra di destra e premere BIN->TEXT nella finestra di sinistra apparirà la sua rappresentazione simbolica.

Se traduzione di codice binario in testo o viceversa, non ha funzionato: controlla la correttezza dei tuoi dati!

Aggiornare!

La trasformazione inversa del tipo di testo è ora disponibile:

in una vista normale. Per fare ciò, seleziona la casella: "Sostituisci 0 con spazi e 1 con █". Quindi incolla il testo nella finestra di destra: "Testo in rappresentazione binaria" e fai clic sul pulsante sotto di esso "BIN-> TESTO".

Quando copi tali testi, devi stare attento perché puoi facilmente perdere spazi all'inizio o alla fine. Ad esempio, la riga sopra ha questo aspetto:

██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

e su sfondo rosso:

██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

vedi quanti spazi alla fine puoi perdere?

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 associare a ciascun carattere.

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

Tutti i caratteri nell'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 di un 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). Questo include lettere minuscole e lettere maiuscole Alfabeto latino, cifre decimali, segni di punteggiatura, tutti i tipi di parentesi, simboli commerciali e altri.
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, che iniziano con 10000000 e terminano 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 ES EVM e dalla metà degli anni '80 ha iniziato ad 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").

I computer Apple che eseguono Mac OS utilizzano 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.

Il più comune è attualmente Codifica Microsoft Windows, abbreviato come 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 poi così tabella dei codici può includere fino a 65536 caratteri. Specifiche complete Standard Unicode include tutti gli alfabeti esistenti, estinti e creati artificialmente del mondo, così come 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 decrittazione del codice binario viene utilizzata per tradurre dal linguaggio macchina a quello ordinario. Gli strumenti online funzionano rapidamente, anche se è facile farlo manualmente.

Il codice binario o binario viene utilizzato per trasmettere informazioni in forma digitale. Un insieme di soli due caratteri, ad esempio 1 e 0, consente di crittografare qualsiasi informazione, sia essa testo, numeri o un'immagine.

Come crittografare con il codice binario

Per la traduzione manuale di qualsiasi simbolo in un codice binario, vengono utilizzate tabelle in cui a ciascun simbolo viene assegnato un codice binario sotto forma di zero e uno. Il sistema di codifica più comune è ASCII, che utilizza la notazione del codice a 8 bit.

La tabella di base contiene codici binari per l'alfabeto latino, numeri e alcuni simboli.

Alla tabella estesa è stata aggiunta un'interpretazione binaria dell'alfabeto cirillico e dei caratteri aggiuntivi.

Per tradurre da un codice binario in testo o numeri è sufficiente selezionare i codici desiderati dalle tabelle. Ma, naturalmente, ci vuole molto tempo per fare questo lavoro manualmente. E gli errori, inoltre, sono inevitabili. Il computer affronta la decrittazione molto più velocemente. E non pensiamo nemmeno, digitando sullo schermo il testo, che in questo momento il testo venga tradotto in un codice binario.

Conversione di un numero binario in decimale

Per convertire manualmente un numero da un sistema numerico binario a decimale, puoi utilizzare un algoritmo abbastanza semplice:

  1. Sotto un numero binario, partendo dall'estremo cifra destra, scrivi il numero 2 in gradi crescenti.
  2. Moltiplica le potenze del numero 2 per la cifra corrispondente del numero binario (1 o 0).
  3. Aggiungi i valori risultanti.

Ecco come appare l'algoritmo sulla carta:

Servizi online per la decrittazione binaria

Se hai ancora bisogno di vedere il codice binario decifrato o, al contrario, tradurre il testo in formato binario, il modo più semplice è utilizzare i servizi online progettati per questo scopo.

Due finestre, usuali per le traduzioni online, consentono di vedere entrambe le versioni del testo in forma normale e binaria quasi contemporaneamente. E la decrittazione viene eseguita in entrambe le direzioni. L'immissione del testo viene eseguita semplicemente copiando e incollando.