quarta-feira, 18 setembro, 2024
Comunidade Prototipando
InícioEletrônicaBinário: Tudo o que você precisa saber

Binário: Tudo o que você precisa saber

Descubra tudo sobre o sistema binário, a base da computação moderna, e entenda sua importância no processamento de dados digitais.

Prepare-se para ter sua percepção da realidade destruída. Tudo o que você pensou que sabia sobre algo tão simples como os números vai mudar. Durante toda a sua vida, você pensou que ter 100 coisas significava ter tantas, quando, na verdade, só significava ter tantos. Não, você não engoliu nenhuma pílula vermelha, à estilo Matrix. Você entrou na zona binária e acabou de encontrar sistemas de numeração de base. Para explorar mais sobre Binário o que você precisa saber, vamos mergulhar no fascinante mundo dos números binários e como eles são utilizados na computação e na eletrônica.

Sistemas e bases numéricos

Sistemas numéricos são os métodos que usamos para representar números. Desde a escola primária, todos nós operamos principalmente dentro dos limites confortáveis de um sistema de números da base 10, mas existem muitos outros como, base-2, base-8, base-16, base-20. Há uma variedade infinita de sistemas de números de base por aí, mas apenas alguns são especialmente importantes para a engenharia elétrica e eletrônica.

Os sistemas numéricos realmente populares têm até seu próprio nome. A base 10, por exemplo, é comumente chamada de sistema de números decimais . A Base-2, sobre a qual estamos aqui para falar hoje, também atende pelo apelido de binário. Outro sistema numérico popular, a base 16, é chamado hexadecimal. A base de um número é frequentemente representada por um número inteiro com índice que segue um valor.

Por que binário?

Por que binário? Bem, por que decimal? Usamos o decimal há muito tempo e quase sempre tomamos como certo o motivo pelo qual decidimos pelo sistema de números da base 10 para nossas necessidades diárias de números. Talvez seja porque temos dez dedos, ou talvez apenas porque os romanos forçaram a seus antigos subordinados. Independentemente do que levou a isso, os truques que aprendemos ao longo do caminho solidificaram o lugar da base 10 em nosso coração, todos podem contar aos dez. Até arredondamos grandes números para o múltiplo mais próximo de 10.

Estamos obcecados com o 10. Computadores e eletrônicos são bastante limitados no quesito dedos das mãos e dos pés. No nível mais baixo, eles realmente têm apenas duas maneiras de representar o estado de qualquer coisa, LIGADO ou DESLIGADO, alto ou baixo, 1 ou 0. E assim, quase todos os eletrônicos dependem de um sistema numérico de base 2 para armazenar e manipular.

A grande dependência dos eletrônicos nos números binários significa que é importante saber como o sistema de números base-2 funciona. Você normalmente encontra binários ou primos, como hexadecimal, em todos os programas de computador. A análise de circuitos lógicos digitais e outros componentes eletrônicos de nível muito baixo também exige o uso pesado de binários. Neste tutorial, você encontrará que tudo o que você pode fazer com um número decimal também pode ser feito com um número binário. Algumas operações podem ser ainda mais fáceis em um número binário, embora outras possam ser mais dolorosas. Abordaremos tudo isso e muito mais neste tutorial.

Contagem e conversão

A base de cada sistema numérico também é chamada de raiz. A raiz de um número decimal são dez e a raiz de binário são dois. A raiz determina quantos símbolos diferentes são necessários para criar um sistema numérico. Em nosso sistema de números decimais, temos 10 representações numéricas, sendo 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Cada um desses símbolos representa um elemento muito específico, valor padronizado. Em binário, são permitidos apenas dois símbolos, 0 e 1. Mas, usando esses dois símbolos, podemos criar qualquer número que um sistema decimal possa.

Contando em binário

Você pode contar em decimal sem fim, mesmo enquanto dorme, mas como você contaria em binário? Zero e um na base dois devem parecer bem familiares, 0 e 1. A partir daí, as coisas ficam decididamente binárias. Lembre-se de que só temos esses dois dígitos, assim como fazemos em decimal, quando ficamos sem símbolos, precisamos mudar uma coluna para a esquerda, adicionar um 1 e girar todos os dígitos para a direita para 0 então, depois de 1, obtemos 10, 11 e 100.

Convertendo binário em decimal

Vamos descrever dois métodos abaixo, o método mais “mathy” e outro que é mais visual. Abordaremos ambos, mas se o primeiro usar muita terminologia feia, vá para o segundo.

Método 1

Existe uma função útil que podemos usar para converter qualquer número binário em decimal.

Existem quatro elementos importantes nessa equação:
• a n , a n-1 , a 1 , etc., são os dígitos de um número. Estes são os 0 e 1 com os quais você está familiarizado, mas em binário eles podem ser apenas 0 ou 1.
• A posição de um dígito também é importante de observar. A posição começa em 0, no dígito mais à direita, esse 1 ou 0 é o menos significativo. Cada dígito que você move para a esquerda aumenta em significância e também aumenta a posição em 1.
• O comprimento de um número binário é dado pelo valor de n , na verdade é n + 1. Por exemplo, um número binário como 101 tem um comprimento de 3, algo maior, como 10011110, tem um comprimento de 8.
• Cada dígito é multiplicado por um peso, 2^n , 2^n-1 , 2^1 , etc. O peso mais à direita -2^0 equivale a 1, mova um dígito para a esquerda e o peso se torna 2, depois 4, 8 , 16, 32, 64, 128, 256 e assim por diante.

Explicação

Vamos nos livrar desses n e expoentes e executar nossa equação de notação posicional binária em oito posições.

Levando isso adiante, vamos inserir alguns valores para os dígitos. E se você tivesse um número binário como, 10011011? Isso significaria um n valores de:

Para fins deste tutorial, suponha que o valor mais à direita seja sempre o menos significativo . O dígito menos significativo de um número é o dígito que tem a menor influência no valor final de um número. O significado dos dígitos é arbitrário, parte de uma convenção chamada endianness (ordem-de-bytes). Um número binário pode ser big-endian, onde o dígito mais significativo é o mais à esquerda ou little-endian, que usaremos neste tutorial e você geralmente verá os números binários escritos dessa maneira.

Agora, conecte esses dígitos em nossa equação binária para decimal. Como nosso número é pouco, o valor menos significativo deve ser multiplicado pelo menor peso.

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

E podemos simplificá-lo para encontrar nosso número decimal:

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

Você notará rapidamente que são necessários muitos mais dígitos para representar um número em binário do que em decimal, mas é tudo feito com apenas dois dígitos.

Método 2

Outra maneira mais visual de converter números binários em decimais é começar classificando cada 1 e 0 em uma lixeira. Cada caixa tem uma potência sucessiva de dois pesos, a 1, 2, 4, 8, 16, estamos acostumados. A realização de oito lugares seria algo como isto:

Portanto, se classificássemos nosso número binário 10011011 nesses compartimentos, ficaria assim:

Para cada compartimento que possui um valor binário 0 , basta removê-lo. E adicione todos os pesos restantes para obter seu número decimal.

Convertendo de decimal para binário

Assim como passar de binário para decimal, há mais de uma maneira de converter decimal em binário. O primeiro usa divisão e remanescentes, e o segundo usa subtração. Experimente os dois, ou escolha o que você mais prefere.

Método 1

Não é tão simples converter um número decimal em binário. Essa conversão requer dividir repetidamente o número decimal por 2, até que você o reduza a zero. Toda vez que você divide o restante da divisão, torna-se um dígito no número binário que você está criando. Não se lembra de como fazer restos? Se já faz um tempo, lembre-se de que, como dividimos por dois, se o dividendo for par , o restante será 0; um dividendo ímpar significa um restante de 1. Por exemplo, para converter 155 em binário.

Exemplo

155 ÷ 2 = 77 Resto 1 (Esse é o dígito mais à direita, 1ª posição)
 77 ÷ 2 = 38 Resto 1 (2ª posição)
 38 ÷ 2 = 19 Resto 0 (3ª posição)
 19 ÷ 2 =  9 Resto 1
  9 ÷ 2 =  4 Resto 1
  4 ÷ 2 =  2 Resto 0
  2 ÷ 2 =  1 Resto 0
  1 ÷ 2 =  0 Resto 1 (8ª posição)

O primeiro resto é o dígito menos significativo mais à direita, portanto, leia de cima para baixo para detalhar nosso número binário da direita para a esquerda: 10011011.

Método 2

Se você não sabe dividir e encontrar restos, pode haver um método mais fácil para converter decimal em binário. Comece encontrando a maior potência de duas ainda menor que o seu número decimal e subtraí-o do decimal. Em seguida, continue subtraindo a maior potência possível de duas até chegar a zero. Toda posição de peso que foi subtraída recebe um dígito binário de 1, dígitos que não foram subtraídos recebem um 0. Continuando com o nosso exemplo, 155 pode ser subtraído por 128, produzindo 27:

Não podemos subtrair nosso novo número, 27, de 64 ou 32. Ambas as posições recebem um 0 . Podemos subtrair por 16, produzindo 11.

E 8 subtrai de 11, produzindo 3. Depois disso, não há tanta sorte com 4.

Nossos 3 podem ser subtraídos por 2, produzindo 1. E, finalmente, o 1 subtrai por 1 para fazer 0.

Temos um número binário.

Bits, Nibbles e Bytes

Ao discutir a composição de um número binário, cobrimos brevemente o comprimento do número. O comprimento de um número binário é a quantidade de 1 e 0 que ele possui.

Comprimentos comuns de números binários

Geralmente, agrupamos os valores binários em um comprimento comum de 1 e 0, e esse número de dígitos é chamado de comprimento de um número. Comprimentos de bits comuns de números binários incluem bits, nibbles e bytes. Cada 1 ou 0 em um número binário é chamado de bit. A partir daí, um grupo de 4 bits é chamado de nibble, e 8 bits formam um byte. Bytes são palavras bastante comuns ao trabalhar em binário. Todos os processadores são criados para trabalhar com um conjunto de bits, que geralmente é um múltiplo de um byte, 8, 16, 32, 64.

O Word é outro termo que é descartado de tempos em tempos. O som é muito menos gostoso e muito mais ambíguo. O comprimento de uma palavra geralmente depende da arquitetura de um processador. Pode ser de 16 bits, 32, 64 ou até mais.

Preenchimento com zeros à esquerda

Você pode ver valores binários representados em bytes ou mais, mesmo que um número de 8 bits exija a adição de zeros à esquerda. Os zeros à esquerda são um ou mais 0 adicionados à esquerda do 1 bit mais significativo de um número. Geralmente, você não vê zeros à esquerda em um número decimal, como por exemplo, 007 o que para todo caso significa 7 do mesmo jeito.

Zeros à esquerda não são necessários em valores binários, mas ajudam a apresentar informações sobre o tamanho de bit de um número. Por exemplo, você pode ver o número 1 impresso como 00000001, apenas para informar que estamos trabalhando no domínio de um byte. Ambos os números representam o mesmo valor, no entanto, o número com sete 0 na frente adiciona informações sobre o tamanho de bit de um valor.

Operadores bit a bit

Existem várias maneiras de manipular valores binários. Assim como é possível com números decimais, você pode executar operações matemáticas padrão como, adição, subtração, multiplicação, divisão. Em valores binários você também pode manipular bits individuais de um valor binário usando operadores bit a bit. Operadores bit a bit executam funções bit a bit em um ou dois números binários completos. Eles fazem uso da lógica booleana operando em um grupo de símbolos binários. Esses operadores bit a bit são amplamente utilizados em eletrônica e programação.

Complemento (NÃO/NOT)

O complemento de um valor binário é como encontrar exatamente o oposto de tudo. A função de complemento examina um número e transforma cada 1 em um 0 e cada 0 se torna um 1 . O operador de complemento também é chamado de NOT. Por exemplo, para encontrar o complemento de 10110101:

NOT 10110101 (decimal 181)
       -------- =
       01001010 (decimal 74)

NOT é o único operador bit a bit que opera apenas em um único valor binário.

OU/OR

OR pega dois números e produz a união deles. Aqui está o processo para OR dois números binários juntos, alinhe cada número para que os bits correspondam e compare cada um dos bits que compartilham uma posição. Para cada comparação de bits, se um ou os dois bits forem 1, o valor do resultado nessa posição de bit será 1. Se ambos os valores tiverem um 0 nessa posição, o resultado também receberá um 0 nessa posição. As quatro combinações possíveis de OR e seus resultados são: 0 OR 0 = 0, 0 OR 1 = 1, 1 OR 0 = 1 e 1 OR 1 = 1.

Por exemplo, para encontrar o 10011010 OR 01000110, alinhe cada um dos números, bit por bit. Se um ou ambos os números tiverem um 1 em uma coluna, o valor do resultado também terá um 1.

     10011010 
OR 01000110
     -------- =
     11011110

Pense na operação OR como adição binária, sem transferência. 0 mais 0 é 0, mas 1 mais qualquer coisa será 1.

E/AND

AND pega dois números e produz a conjunção deles. AND só produzirá 1 se os dois valores em que estiver operando também forem 1. O processo de AND e dois valores binários juntos é semelhante ao de OR. Alinhe cada número para que os bits correspondam e compare cada um dos bits que compartilham uma posição. Para cada comparação de bits, se um ou ambos os bits forem 0 , o valor do resultado nessa posição de bit será 0. Se ambos os valores tiverem 1 nessa posição, o resultado também receberá 1 nessa posição. As quatro combinações AND possíveis e seus resultados são: 0 AND 0 = 0, 0 AND 1 = 0, 1 AND 0 = 0 e 1 AND 1 = 1

Por exemplo, para encontrar o valor de 10011010 E 01000110, comece alinhando cada valor. O resultado de cada posição de bit será apenas 1 se os dois bits nessa coluna também forem 1.

       10011010
AND 01000110
        -------- =
        00000010    

Pense em AND como uma espécie de multiplicação. Sempre que você multiplicar por 0, o resultado também será 0.

XOR

XOR é o OR exclusivo. O XOR se comporta como OR normal, exceto que só produzirá 1 se um ou os outros números tiverem 1 nessa posição de bit. As quatro combinações possíveis de XOR e seus resultados são: Onde 0 XOR 0 = 0, 0 XOR 1 = 1, 1 XOR 0 = 1 e 1 XOR 1 = 0. Por exemplo, para encontrar o resultado de 10011010 XOR 01000110:

       10011010
XOR 01000110
       -------- =
       11011100

Mudanças de bits

As trocas de bits não são necessariamente um operador bit a bit como os listados acima, mas é uma ferramenta útil para manipular um único valor binário. Existem dois componentes para uma mudança de bit, a direção e a quantidade de bits a mudar. Você pode mudar um número para a esquerda ou direita e pode mudar um ou mais bits.

Ao deslocar para a direita, você corta um ou mais dos bits menos significativos, localizados no lado direito do número, e eles se tornam zero. Você pode adicionar zeros à esquerda para manter o mesmo comprimento de bits. Por exemplo, deslocando 10011010 para os dois bits certos:

DIREITA-SHIFT-2 10011010 (decimal 154)
                          -------- = 
                          00100110 (decimal 38)

Mudar para a esquerda adiciona todos os bits para o lado mais significativo, o lado esquerdo do número. Para cada turno, adicionamos um zero na posição de bit menos significativo. Por exemplo, deslocando 10011010 para a esquerda um bit:

ESQUERDA-SHIFT-1 10011010 (decimal 154)
                              -------- =
                             100110100 (decimal 308)

Essa simples mudança de bits realmente executa uma função matemática relativamente complicada. Deslocamentos para a esquerda de n bits multiplicam um número por 2^n, enquanto um deslocamento de n bits para a direita fará uma divisão inteira por 2^n. Quando você muda para a direita para dividir, pode parecer estranho, pois qualquer fração produzida pela divisão de mudança será cortada. É por isso que 154 deslocado para a direita duas vezes é igual a 38, em vez de 154/4 = 38,5. Mudanças de bits podem ser uma maneira poderosa e rápida de dividir ou multiplicar por 2, 4, 8. Esses operadores bit a bit fornecem a maioria das ferramentas necessárias para executar operações matemáticas padrão em números binários.

Binário em Programação

No nível mais baixo deles, o binário é o que move todos os eletrônicos. Como tal, encontrar binário na programação de computadores é inevitável.

Representando valores binários em um programa

No Arduino e na maioria das outras linguagens de programação, você pode representar um número binário com um prefixo 0b seguido do número binário. Sem o 0bo, o número será apenas um número decimal. Por exemplo, esses dois números no código produziriam dois valores muito diferentes.

a = 0b01101010; // Decimal 106
c = 01101010;  // Decimal 1,101,010 - nenhum prefixo 0b, logo significa decimal.

Operadores bit a bit na programação

Você pode realizar cada um dos operadores bit a bit discutidos acima em uma linguagem de programação.

Operador AND bit a bit

Para AND dois diferentes valores binários, use o & comercial. Por exemplo:

x = 0b10011010 & 0b01000110; //x = 0b00000010

AND é um valor binário útil se você precisar aplicar uma máscara de bits a um valor ou verificar se um bit específico em um número binário é 1. Não deve-se confundir o operador AND bit a bit com a operação condicional AND, que usa o duplo e comercial (&&) e produz um verdadeiro ou falso com base na entrada de várias instruções lógicas.

Operador OR bit a bit

O operador OR bit a bit utiliza-se o símbolo| (shift +). Por exemplo:

y = 0b10011010 | 0b01000110; //y = 0b11011110

OR com um valor binário é útil se você deseja definir um ou mais bits em um número como 1. Assim como em AND, certifique-se de não alternar o operador OR bit a bit com o operador condicional OR, sendo assim o duplo (||).

Operador NOT bit a bit

O operador NOT bit a bit é o til ~ . Como um exemplo:

z = ~(0b10100110); //z = 0b01011001

Operador XOR bit a bit

Para XOR, dois valores usam o sinal de intercalação (^) entre eles:

r = 0b10011010 ^ 0b01000110; // r = 0b11011100

O XOR é útil para verificar se os bits são diferentes, porque só resultará em 1 se operar em 0 ou 1.

Deslocando para a esquerda e direita

Para deslocar um número binário para a esquerda ou direita n bits, use os operadores <>n. Alguns exemplos:

i = 0b10100101 << 4;    // Shift 4 bits
// i = 0b101001010000
j = 0b10010010 >> 2;    // Shift j direita 2 bits
// j = 0b00100100

Os turnos são uma maneira especialmente eficiente de multiplicar ou dividir por potências de dois. No exemplo acima, deslocar quatro unidades para a esquerda multiplica esse valor por 2^4 (16). O segundo exemplo, deslocando dois bits para a direita, dividiria esse número por 2^2 (4).

Conclusão

Binário é o alicerce de todos os cálculos e operações em eletrônica. Portanto, isso é só o começo. Espero que esse tutorial tenha contribuído com os seus estudos. Caso tenha alguma dúvida ou sugestão quanto a esse tutorial, não hesite em deixar um comentário abaixo.

Iuri Medeiros
Iuri Medeiroshttps://grupoexperts.com.br/
CEO apaixonado por negócios e visionário, lidera a GEX com uma abordagem inovadora. Sua ética de trabalho incansável e compromisso com a excelência transcendem os números, refletindo-se na cultura corporativa que valoriza inovação e responsabilidade social.
ARTIGOS RELACIONADOS

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui

- PUBLICIDADE -
Google search engine

Mais Populares

Comentários Recentes