Os sinais e as operações aritméticas com números binários

Objetivos:
Apresentar como ocorre a diferenciação entre os números binários positivos e negativos e como as operações aritméticas (soma, subtração, multiplicação e divisão) são realizadas por um computador digital, através desse sistema de notação.
Recursos e materiais:
Última atualização:
09/03/2020
Aulas do capítulo:

Nas últimas aulas, dissemos que para encontrarmos as respostas de como os computadores eram capazes de realizar operações matemáticas ou compreender informações no formato de texto, precisaríamos primeiro conhecer os principais sistemas de numeração ligados à computação. Aprendemos que os computadores processam informações no formato binário e utilizam os sistemas hexadecimal e octal para uma forma compacta de representação. Caso não tenha visto nosso material, acesse agora esse link e fique por dentro do assunto. Agora, analisaremos a resposta dessa primeira pergunta, estudando como os computadores diferenciam números negativos e positivos e como eles realizam as operações aritméticas (soma, subtração, multiplicação e divisão) com números binários.

Os sinais dos números binários

Basicamente, existem três métodos para a representação do sinal de um número binário: o sinal-amplitude, o complemento de 1 e o complemento de 2. Todas essas técnicas utilizam o algarismo mais à esquerda para determinar o sinal do número, sendo que 0 é utilizado para representar números positivos e 1 para negativos. Porém, nas duas primeiras técnicas, existem duas formas distintas para representação do zero (+0 e -0), o que causa desperdício de informações. Por isso, o complemento de 2 é o método de representação mais utilizado pelos computadores e que descreveremos a seguir.

O complemento de 2

Para determinarmos o equivalente decimal de um número binário representado pelo complemento de 2, devemos avaliar se o número é positivo ou negativo. Caso o algarismo mais à esquerda seja 0, o número é positivo e a conversão acontece através da notação posicional apresentada na seção “Os sistemas de numeração”. Porém, se o primeiro algarismo for 1, o número binário é negativo e, nesse caso, devemos inverter todos os algarismos do número, somar uma unidade e então utilizarmos a notação posicional para fazermos a conversão.

Como forma de facilitar o entendimento desse processo, vejamos o exemplo do número 1010(2). Como o algarismo mais à esquerda é 1 e se trata de um número negativo, invertemos todos os algarismos desse número e encontramos 0101(2). Em seguida, somando um unidade à esse resultado, conforme veremos logo a seguir, obtemos 0110(2), o que equivale ao número 6(10). Portanto, o número 1010(2) corresponde à -6(10) na base decimal.

Da base decimal para a binária…

Por outro lado, para fazermos o processo contrário de conversão, ou seja, sairmos da representação decimal e chegarmos na base binária representada pelo complemento de 2, basta seguirmos as etapas em ordem inversa à que foram apresentadas acima. Se o número decimal é positivo, a conversão é direta, através das etapas apresentadas na aula “Conversão de base”. Se o número é negativo, precisamos converter o número para sua representação binária positiva, subtrair uma unidade, e inverter todos os algarismos.

Para entendermos essa conversão, vejamos agora o exemplo do número -5(10). A representação binária de seu equivalente positivo, número 5(10), é 0101(2). Subtraindo uma unidade desse valor, conforme também veremos a seguir, obtemos 0100(2). Finalmente, invertendo todos os algarismos, verificamos que o número -5(10) é representado no sistema binário por 1011(2).

Em um sistema de 4 bits, ou seja, um sistema em que os números binários são representados com 4 algarismos, a faixa de números inteiros positivos e negativos representados pelo complemento de 2 é resumida na Tabela 1:

Complemento de 2 para os números binários de 4 bits
Número Decimal Complemento de 2 Número Decimal Complemento de 2
+7 0111 -1 1111
+6 0110 -2 1110
+5 0101 -3 1101
+4 0100 -4 1100
+3 0011 -5 1011
+2 0010 -6 1010
+1 0001 -7 1001
0 0000 -8 1000

Adição e subtração com números binários

As operações de soma com números binários utilizam as mesmas regras da adição de números decimais, sendo ainda mais simples por utilizarem apenas os algarismos 0 e 1. Assim, todos os casos que podemos encontrar ao somarmos números binários, podem ser resumidos nas quatro opções abaixo.

• 0 + 0 = 0;
• 1 + 0 = 1;
• 1 + 1 = 2, que é 10 em binário (deixar 0 na casa atual e emprestar 1 bit para a próxima casa à esquerda);
• 1 + 1 + 1 = 3, que é 11 em binário (deixar 1 na casa atual e emprestar 1 bit para a casa imediatamente à esquerda).

As subtrações também são realizadas através de uma soma, bastando apenas considerarmos os números negativos como binários em suas representações pelo complemento de 2.

Alguns exemplos dessas operações aritméticas com números binários são mostrados a seguir para facilitarem o nosso entendimento. É importante observarmos que, nos dois últimos casos, para um sistema que utiliza apenas 4 bits, ocorreria overflow e um bit à mais seria necessário para representarmos o resultado da operação. Por isso, o valor que o computador apresentaria como resultado não corresponderia ao valor correto da operação e, enquanto esperamos que 7(10) + 6(10) seja 13(10) e que -7(10) + (-6(10)) seja -13(10), os resultados obtidos seriam -3(10) e 3(10), respectivamente.

Exemplo de soma e subtração com binários

Multiplicação e divisão com números binários

A multiplicação e a divisão manuais no sistema de representação binário também são bastante similares ao que estamos acostumados a fazer com o sistema decimal. A diferença é que, como temos somente algarismos 0 e 1 nesse sistema de representação, a tabuada que precisamos aprender com as opções de operações é bem mais simples. No caso da multiplicação, as operações seguirão sempre as três regras apresentadas abaixo:

• 0 x 0 = 0;
• 0 x 1 = 0;
• 1 x 1 = 1.

Em relação à divisão, o resultado será 1 sempre que o dividendo for maior ou igual ao divisor e 0 quando for menor. Um exemplo para cada uma dessas operações é apresentado a seguir para facilitar nossa compreensão.

Exemplo de multiplicação com números binários
Exemplo de divisão com números binários

Tanto na multiplicação quanto na divisão, devemos verificar o sinal dos números que estamos operando e confirmarmos o sinal do resultado separadamente, efetuando os cálculos somente com as representações positivas dos números. Caso o resultado deva ser negativo, precisamos ainda converter o número binário obtido como resultado em sua versão negativa, utilizando os procedimentos apresentados anteriormente.

Como os computadores realizam a multiplicação e divisão?

Nos computadores digitais, devido à dificuldade em se implementar essas operações, tanto a multiplicação quanto a divisão ocorrem de forma diferente daquela que realizamos manualmente. Como nosso objetivo é a praticidade e entendermos como o computador realiza as operações, não daremos muito enfoque para esses cálculos manuais. Para os nossos objetivos na computação, é suficiente entendermos que, para números inteiros, o produto de um número A por um número N em um computador é obtido ao somarmos A com A, N-1 vezes, conforme mostrado no exemplo abaixo.

4*3 = 4 + 4 + 4 = 12

Já na divisão de A por N, subtraímos N de A sucessivamente até obtermos um valor zero ou negativo, sendo o número de operações realizadas equivalente ao resultado da divisão desejada. Um exemplo da divisão é também mostrado a seguir:

12 / 4 = 12 - 4 = 8 - 4 = 4 - 4 = 0 \rightarrow 12 / 4 = 3

Precisaremos conhecer essas operações aritméticas com números binários para muitas das aplicações para computadores que viermos a desenvolver. Além disso, na próxima aula, estudaremos a resposta para a segunda pergunta que fizemos no início desse artigo, sobre como os computadores são capazes de compreender também as informações no formato de texto. Não deixe de se cadastrar em nosso blog clicando aqui para ficar por dentro desses e muitos outros assuntos ligados à Engenharia Mecâtrônica! Embarque nessa viagem com a gente!

Referências bibliográficas

G. Farias, “Números Binários Negativos”. Online. [Acesso em 26 Fevereiro 2018].
Imperial College London, “Arithmetic Operations on Binary Numbers”. Online. 21 Outubro 2002. [Acesso em 26 Fevereiro 2018].
G. Farias, “Aritmética Binária”. Universidade Federal da Paraíba. Online. [Acesso em 26 Fevereiro 2018]

Deixe um comentário

%d blogueiros gostam disto: