Códigos binários - Desvendando oque são e pra que servem os códigos binários
Afinal, oq são códigos binários?! Oque comem?! Aonde vivem?!
Provavelmente, se vc faz faculdade, ou já se interessou por circuitos digitais, já esbarrou com termos como: Código BCD, Código de gray, Código ASCII ou Código Johnson. Caso vc ainda não saiba bem pra que servem esses tais códigos, é simples, são apenas formas de passar uma determinada informação, são padrões usados em um projeto para o desenho do circuito. Por exemplo, antes de começar um projeto comum, vc escolhe a tecnologia que se aplica melhor a necessidade, ou a que vc mais tem controle. Em circuitos digitais tbm é assim; Vc escolhe o tipo de código, conforme as necessidades do projeto.
Código ASCII
Talvez, esse seja o mais conhecido, a famosa tabela ascii, American Standard Code for Information Interchang, é um padrão de código que conforme uma determinada sequencia de 8bits, responde a um caractere na tabela. Pronto, fácil, não é? Bem, até que sim, mas como esse padrão foi se estendendo ao longo do mundo e sendo usado nas unidades de processamento, foi aparecendo novas necessidades, por exemplo, a utilização de simbolos que usamos, como: ç, ~, etc. E foi ai que nasceu uma extensão da tabela ascii chamada Unicode, mas isso é assunto pra outro artigo...
Código BCD
Esse daqui também é bem conhecido e talvez vc tenha ouvido falar, o código bcd segue quase o mesmo sentido do ascii, mas ele é usado para representar números de 0 a 9, cada número possui um conjunto de 4 bits, com cada conjunto de 4 bits representrando uma casa, por exemplo, se eu quiser representar o número 45 em Bcd, seria: 0100(4) 0101(5). Esse tipo de código é muito usado em sistemas como calculadora, pq as operações são bem simples de serem realizadas, é oq chamamos de aritimética bcd.
Aritimética BCD
As operações com bcd são bem simples, são as famosas conhecidas como soma e subtração. Sim, existem as outras oprações, porém elas são um pouquinho mais complexas e como a ULA (Unidade lógica de processamento) realiza mais somas e subtração, então vamos falar disso. Mas antes, precisamos saber como funcionam números negativos e positivos em binário.
Positivos e negativos
Em binário, temos duas formas de representar os sinais, com o sinal magnitude e com o complemento de dois. Com o sinal magnitude sempre teremos uma sequencia de bits, menos um. Por exemplo, temos quatro bits representando o número 5, mas se quisermos representar -5, seria 4 bits - 1 para representar ele, pq o primeiro bit seria o de sinal. Vamos lá, para representar números positivos basta adicionar um 0 ao inicio do número: 0101(5). Para negativo adicione o 1: 1101(-5). Com o complemento de dois, fica um poquinho diferente, para números positivos, a lógica é a mesma, mas para negativos, precisamos de duas etapas, a primeira é inverter os bits, onde é 0 se torna 1 e vise e versa. Exemplo (número 5) 0101 > 1010. Após essa transformação, pegaremos o resultado e somaremos com 1: 1010 + 1 > (Começando da direita) 0 + 1 = 1; Como não possui outros bits após o 1 da direita para a esquerda, consideraremos como vazio, então o resultado lógicamente seria 1011,esse número em complemento de dois é -5. Mas pq esse trabalho todo? Pq jovem padawan, ele te ajuda a fazer somas e subtrações, é uma mão na roda.
Conclusão
Gostaria de falar mais sobre esse assunto aqui, poderia retornar falando sobre desenhos de circuitos digitais, tabela da verdade, diagrama de temporização e expressões booleanas, mas preciso saber o quanto gostaram desse artigo. Prfv deem seu feadback, estamos aqui pra passar e receber conhecimento. Espero ter ajudado vc a entender o básico sobre os códigos binários, me perdoem caso eu tenha esquecido de algo, comente mais aqui em baixo, seria um prazer!! Tbm tenho um post sobre como os binários funcionam, caso vc não tenha entendido muito esse post, passa lá e dps volta que as coisas vão ficar mais claras. Caso queira saber mais, me visita lá no insta pra trocar um papo, amo falar sobre Linux, redes, programação de baixo nivel e muito mais: @ryandias.md. Até a próxima. Mantenha-se bem, mantenha-se firme.