...
Truques de vida, dicas úteis, recomendações. Artigos para homens e mulheres. Escrevemos sobre tecnologia e sobre tudo o que é interessante.

Tradução de informações em código binário – o que é, seus tipos, decodificação

5

Todo mundo conhece a capacidade dos computadores de calcular grandes grupos de dados em questão de segundos. No entanto, nem todos sabem que essa capacidade das máquinas eletrônicas depende da presença de corrente e tensão.

O que é um código binário?

Como um computador consegue processar grandes quantidades de informações rapidamente? O sistema binário o ajuda nisso. Os dados inseridos neste dispositivo inteligente parecem uns e zeros. Cada unidade e cada zero corresponde a um determinado estado do fio elétrico:

  • 1 – alta tensão.
  • 0 – baixo.

Ou para unidades – a presença de tensão e para zeros – a ausência.

A base do sistema binário de cálculo são os códigos binários. O que é um código binário?

O processo de conversão de dados em zeros e uns é chamado de "conversão binária" e sua designação final é "código binário".

Profundidade de bits do código binário

Todos os números binários são uma coleção de bits, ou seja, uns e zeros, e cada bit é um bit ou uma posição em um número binário. Freqüentemente, em tarefas de ciência da computação, há uma questão de quanta informação esse ou aquele código binário carrega. Você deve saber que cada dígito do código binário contém a quantidade de informação que é igual a um bit.

Qual é a profundidade de bits de um código binário? Se você olhar do ponto de vista da aritmética, a profundidade de bits refere-se ao lugar que um dígito ocupa ao escrever números. Então, a profundidade de bits do código binário significa o número de lugares de caracteres (dígitos) ou o número de bits que são pré-alocados para anotar o número.

Descriptografia binária

Como descriptografar o código binário? A notação decimal é baseada no sistema decimal que é comumente usado na vida cotidiana e os valores numéricos aqui são representados por dez dígitos de zero a nove. Cada um dos lugares nos números é dez vezes mais valioso que o lugar à direita. Para representar um número maior que 9 no sistema decimal, utiliza-se um zero, que é colocado à direita. E a unidade está localizada à esquerda no próximo local mais valioso.

O sistema binário funciona de maneira semelhante, na qual são usados ​​​​apenas dois dígitos – zero e um. Os assentos à esquerda são duas vezes mais valiosos que os assentos à direita. Portanto, para um código binário, é típico que apenas 0 e 1 possam ser números únicos e, para qualquer número maior que um, 2 casas já são necessárias.

Depois de 0 e 1, seguem os seguintes números binários:

  • 10 (ou seja, 1,0).
  • 11 (1.1).
  • 100(1,0,0).

Em binário, 100 é o equivalente decimal de 4. Assim, qualquer número pode ser expresso como um código binário, mas ocupará mais espaço. Além disso, ao atribuir certos números binários a cada letra do alfabeto, qualquer palavra pode ser traduzida em código binário.

Vídeo sobre a conversão de números em código binário

Por exemplo, para transmitir uma mensagem por um canal de comunicação digital, ela é codificada, ou seja, cada caractere da mensagem original é comparado com um determinado código (palavra de código). Para isso, são utilizados códigos binários – uma sequência de uns e zeros.

Por exemplo, para codificar a palavra "mãe" escolhe-se o seguinte código:

  • M-00.
  • A-1.
  • Y – 01.
  • L – 0.
  • U-10.

O espaço é 11.

As letras codificadas serão combinadas em uma cadeia de bits e serão transmitidas pela rede desta forma:

MOM SOAP LAMU → 0010011100010111010010

Depois que esta string foi entregue ao seu destino, o problema de restaurar a mensagem original deve ser resolvido. Assim, tendo recebido a mensagem "001001", ela pode ser decodificada de várias maneiras. Por exemplo, assumindo que consiste apenas nas letras L (código 0) e A (código 1), obtém-se:

LLALLAAALLLALAAAALLALLALL

Isso significa que o código acima não é exclusivamente decodificável. Códigos exclusivamente decodificáveis ​​são aqueles em que qualquer mensagem de código pode ser decodificada de apenas uma maneira.

códigos uniformes

Esse problema é resolvido dividindo corretamente a cadeia de bits em palavras codificadas separadamente. Isso pode ser feito, por exemplo, usando um código uniforme, cujo comprimento de palavras é sempre o mesmo. Por exemplo, esta frase consiste em seis caracteres, o que significa que um código de três bits pode ser aplicado.

Por exemplo, se você codificar a frase acima com o seguinte código:

  • M – 000.
  • A – 001.
  • Y — 010.
  • L-011.
  • Espaço – 101, então você obtém o seguinte:

MOM SOAP LAMU → 000001000001101000010011001101011001000100

Esta mensagem tem 42 bits de comprimento. Embora seja mais longo que o primeiro, que tem apenas 22 bits, é muito mais fácil analisá-lo em palavras individuais para decodificação:

000 001 000 001 101 000 010 011 001 101 011 001 000 100

M A M A M Y L A   L A M U 

Embora esse código uniforme não possa ser chamado de econômico, ele pode ser decodificado sem ambiguidade.

Vídeo sobre a conversão de letras em código binário

códigos desiguais

Código binário desigual – o que é isso? Às vezes é usado para encurtar o comprimento das mensagens. Em um código não uniforme, a palavra de código correspondente a um determinado caractere do alfabeto pode diferir em comprimento de outras palavras.

Por exemplo, se você usar o seguinte código para codificar "Mamãe ensaboou a lhama":

  • M-01.
  • A-00.
  • Y — 1011
  • L – 100.
  • U – 1010.
  • Espaço – 11, resultará:

MOM SOAP LAMU → 0100010011011011100001110000011010

Esta mensagem consiste em 34 bits. Essa sequência de bits pode ser decodificada de forma inequívoca, pois na primeira letra – M, que possui o código 01, o código é único, pois outras palavras de código não começam com 01. Da mesma forma, você pode determinar a segunda letra – A. A propriedade quando as palavras de código não correspondem ao início de outras palavras de código é chamada de condição de Fano, e os códigos decodificados usando a propriedade de Fano são chamados de códigos de prefixo.

Os códigos de prefixo têm um significado prático importante – com a ajuda deles, os caracteres das mensagens recebidas são decodificados à medida que chegam, sem esperar que toda a mensagem chegue ao destinatário.

Tipos de códigos binários

Para representar inteiros, existem os seguintes tipos de códigos binários:

  • Icônico.
  • Não assinado.

Números negativos só podem ser representados em forma de sinal. Os inteiros são armazenados em um computador em um formato de ponto fixo.

Códigos não assinados

Em códigos binários inteiros sem sinal, todos os dígitos binários são representados na potência de 2:

Tradução de informações em código binário - o que é, seus tipos, decodificação

O valor do número mínimo possível é zero e o máximo é determinado pela fórmula:

Tradução de informações em código binário - o que é, seus tipos, decodificação

Esses dois números definem o intervalo de números representados no código binário.

  • Se for apresentado um inteiro sem sinal de oito dígitos, o intervalo de números é escrito usando o código: 0…255.
  • Se for apresentado um código de dezesseis dígitos – 0 … 65535.

Nos processadores de oito bits, esses números são armazenados em duas células de memória, localizadas em endereços adjacentes. Trabalhar com esses números é realizado usando comandos especiais.

códigos de sinal

Nos códigos com sinal inteiro direto, a representação do sinal de um número é realizada usando o dígito mais significativo da palavra. Para um código de caractere direto, zero é usado para indicar o sinal “+" e um é usado para indicar o sinal “-“. Inserir um bit de sinal mudará o intervalo de números para valores negativos.

  • Um inteiro binário com sinal de oito bits é gravado usando o seguinte intervalo: -127…+127.
  • O código de dezesseis dígitos será escrito no intervalo: -32767…+32767.

Nos processadores de oito bits, esses números também são armazenados em duas células de memória, cujos endereços estão localizados próximos um do outro.

A desvantagem deste código é a necessidade de processamento separado de sinais e bits digitais. Os programas executados em tais algoritmos são bastante complexos. Para selecionar e alterar o bit de sinal, você terá que aplicar o método de mascaramento de bits, o que leva a um aumento no tamanho do programa e uma diminuição em seu desempenho. Para evitar diferenças no algoritmo de processamento de bits digitais e de sinal, são usados ​​códigos binários reversos.

A diferença entre os códigos binários reversos assinados e os diretos é a formação de números negativos pela inversão de todos os bits dos números. No entanto, os bits digitais e de sinal não diferem. Esses códigos podem simplificar significativamente o algoritmo de trabalho.

Mas, apesar disso, trabalhar com códigos inversos requer um algoritmo especial para reconhecer sinais, calcular valores absolutos de números e restaurar o sinal do resultado de um número. Além disso, o código reverso direto de um número requer o uso de dois códigos para lembrar zero em um momento em que se sabe que zero é um número positivo e nunca pode ser negativo.

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação