Você está na página 1de 12

Sistemas de Numeração

e Aritmética Binária
Sistemas de Numeração
O nosso sistema de numeração de uso corrente é o decimal, por ter a base
10, ou seja, composto por dez algarismos (ou símbolos): 0, 1, 2, 3, 4, 5, 6,
7, 8, 9. Na área de computação, também são usadas outras bases: binária
(base 2), octal (base 8) e hexadecimal (base 16).

● Binário (dois algarismos): 0, 1


● Octal (oito algarismos): 0, 1, 2, 3, 4, 5, 6, 7
● Hexadecimal (dezesseis algarismos): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
C, D, E, F.

As letras A, B, C, D, E e F equivalem, em decimal, aos números 10, 11, 12,


13, 14 e 15.

A Tabela 1 a seguir mostra a equivalência entre os números decimal,


binário, octal e hexadecimal.

Tabela 1: Equivalências entre os sistemas de numeração.

1
DECIMAL BINÁRIO OCTAL HEXADECIMAL

0 0 0 0
1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

16 10000 20 10

A posição de cada algarismo no número indica a sua magnitude, que


também é chamada de peso. No sistema decimal os pesos são potências
de 10: 100, 101, 102, 103, e assim por diante.

Por exemplo, para o número decimal 1328 (ou 132810):


132810 = 1000 + 300 + 20 + 8
(1 milhar, 3 centenas, 2 dezenas e 8 unidades)
= (1 x 1000) + (3 x 100) + (2 x 10) + (8 x 1)
= (1 x 103) + (3 x 102) + (2 x 101) + (8 x 100)

2
CONVERSÃO DE QUALQUER
BASE PARA DECIMAL
Regra de conversão de um número em qualquer base para decimal:

numb = an x bn-1 + an-1 x bn-2 + ... + a 1 x b0

Onde:

● “b” é a base;
● “n” é a quantidade de dígitos (contando em ordem crescente da direita
para a esquerda);
● “an” é o dígito na n-ésima posição (da direita para a esquerda).

Então para converter um número em binário, octal ou hexadecimal para a


base decimal basta utilizar a regra acima.

Por exemplo, o número decimal: 11012


numb = 11012; b = 2 (base); n = 4 (número de dígitos)
an = a4 = 1; an-1 = a3 = 1; an-2 = a2 = 0; an-3 = a1 = 1
10112 = a4 x 24-1 + a4-1 x 24-2 + a4-2 x 24-3 + a4-3 x 24-4
= a 4 x 23 + a 3 x 22 + a 2 x 21 + a1 x 2 0
= 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1
= 8 + 4 + 0 + 1 = 13

Então, o número binário 11012 equivale ao número decimal 1310

Exemplo de conversão da base octal para decimal: 3568


numb = 3568 ; b = 8; n = 3 => an = a3 = 3; an-1 = a2 = 5; an-2 = a1 = 6
3568 = a3 x 83-1 + a2 x 83-2 + a1 x 83-3

3
= 3 x 82 + 5 x 81 + 6 x 80 = 3 x 64 + 5 x 8 + 6 x 1
= 192 + 40 + 6 = 238

Então, o número octal 3568 equivale ao número decimal 23810

Exemplo de conversão da base hexadecimal para decimal: 1AF16


b = 16; n = 3; a3 = 1; a2 = A; a1 = F
1AF16 = a3 x 163-1 + a2 x 163-2 + a1 x 163-3
= 1 x 162 + A x 161 + F x 160 (Lembrando: A=10; F=15)
= 1 x 256 + 10 x 16 + 15 x 1 = 256 + 160 + 15
= 431

Então, o número hexadecimal 1AF16 equivale ao número decimal 43110

CONVERSÃO DE DECIMAL
PARA AS OUTRAS BASES
Utiliza-se o método das divisões sucessivas: de acordo com a base destino
(base 2, 8 ou 16), divide-se sucessivamente o número decimal pela base (2,
8 ou 16), até esgotar a parte inteira. Seleciona-se por ordem inversa de
ocorrência, desde o último quociente, todos os restos da divisão inteira.

Exemplo de conversão de um número decimal para binário: 15510 = (?)2

Como a base destino é a binária, divide-se sucessivamente o número 155


por 2, até o quociente ficar menor do que 2. Pega-se de baixo para cima
(ordem inversa de ocorrência) todos os restos como indicado:

4
Então 15510 é equivalente ao número binário: 100110112.

Exemplo de conversão de um número decimal para octal: Pegando o


mesmo número decimal 15510, divide-se sucessivamente por 8, até o
quociente ficar menor do que 8. Pega-se de baixo para cima (ordem inversa
de ocorrência) todos os restos como indicado:

Então 15510 é equivalente ao número octal 2338.

Exemplo de conversão de um número decimal para hexadecimal: Pegando


o mesmo número decimal 15510, divide-se sucessivamente por 16, até o
quociente ficar menor do que 16. Pega-se de baixo para cima (ordem
inversa de ocorrência) todos os restos como indicado, lembrando que

5
quando o resto for maior que entre 10 e 15, deve ser trocado pelas letras A
até F:

Como 1110 = B16, o número 15510 é equivalente a 9B16

ARITMÉTICA BINÁRIA
Antes de iniciarmos a questão da aritmética binária (operações de adição,
subtração, multiplicação e divisão no sistema binário), temos que entender
o conceito da magnitude dos números binários, pois isto é utilizado pelo
computador para implementar as operações e para simbolizar o sinal
positivo ou negativo.

Em qualquer número inteiro, o dígito mais à direita é chamado de dígito


menos significativo, no caso dos computadores em que cada dígito binário
representa um BIT, dizemos que é o bit menos significativo (ou em inglês,
LSB - Least Significant Bit), ou ainda, dígito de mais baixa ordem, pois
representa o dígito de menor valor. O dígito não nulo mais à esquerda é dito
o mais significativo, ou o bit mais significativo (em inglês, MSB - Most
Significant Bit), ou ainda o dígito de mais alta ordem.

6
Em sistemas computacionais, para a representação de números negativos
geralmente é utilizado o MSB como a representação do sinal do número
binário.

Se forem utilizados 8 bits para armazenar um número, então se o MSB for


“0” é um número positivo e se for “1” é um número negativo. Por exemplo, o
seguinte número: 000000102 representa o número +210 (positivo); E o
número 100000102 representa o número -210 (negativo).

Neste caso, se o MSB é utilizado para a representação do sinal, restam


somente 7 bits para representar os números. Desta forma, o faixa de valores
possíveis com 8 bits com o MSB representado o sinal é de -12710 ( ou
111111112) a +12710 (ou 011111112).

Por exemplo, nas linguagens de programação C, C++ e Java o tipo de


dados “short int” (inteiro curto) utiliza 8 bits (ou 1 byte) para
armazenamento, e os valores possíveis são de -127 a + 127.

Adição de Binários
Para efetuar uma adição em decimal, alinhamos os dígitos dos dois números
que devem ser adicionados.

7
Por exemplo, a adição de 235 + 46 = 281:

Fazemos essencialmente a mesma coisa para a adição entre binários.


Adicionamos dois dígitos de mesma posição de cada vez, começando pelos
dígitos de mais baixa ordem (LSB). Ao adicionarmos dois dígitos binários,
existem quatro possibilidades:

Ainda define-se: 12 + 12 + 12 = 112

Exemplo 1: 210 + 210 = 410

Exemplo 2: 710 + 510 = 1210

8
Exemplo 3: 100112 + 10012 (equivalente a 1910 + 910):

Então: 100112 + 10012 = 111002 = 2810

Multiplicação de Binários
Semelhante à multiplicação decimal:
● 0 x 0 = 0;
● 0 x 1 = 0;
● 1 x 0 = 0;
● 1 x 1 = 1.

Exemplo 1: 10102 x 102 (1010 x 210)


1010
x 10
0000
10100
10100 = 2010

Exemplo 2: 10112 x 10112 (1110 x 1110)

9
1011
x 1011
1011
1011
0000
1011
========
11110012 = (64+32+16+8+1)10 = 12110

Subtração de Binários
Por uma questão de simplificação na construção de componentes, para que
ocupe menos espaço físico, a grande maioria dos processadores não
implementa a subtração binária convencional em seus circuitos lógicos. A
subtração, nesse caso, é tratada como adição:
7 - 5 = (+7) + (-5) = +2

Esta técnica é chamada de subtração por "complemento-de-dois". Nessa


forma, a representação do número negativo é feita da seguinte maneira:
1. Configura-se em binário o seu simétrico (positivo);
2. Invertem-se seus bits (complemento-de-um);
3. Adiciona-se o número binário "1", obtendo-se o complemento-
de-dois;
4. Soma-se o complemento-de-dois, descartando-se o último carry (vai-
um) no MSB.

Por exemplo, para representar 510 em complemento-de-dois usando um


byte de armazenamento.

10
Solução: +510 = 000001012
Complemento-de-um => 11111010
Soma 1 => + 1
Complemento-de-dois => 11111011

Então, para fazer a operação 7 - 5 é equivalente a somar 7 ao complemento-


de-dois de 5.
7 - 5 = 7 + complemento-de-dois(5)
710 = 000001112
Complemento-de-dois de 510 = 111110112

Para a subtração convencional, a operação é semelhante à subtração do


sistema decimal:

As possibilidades de subtração em binário são:

Exemplo 1: 4 - 2 = 2.
410 = 1002 210 = 102
100

11
- 10
10 -> 102 = 210

Exemplo 2 : 132 - 47 = 85
13210 = 100001002 4710 = 1011112
10000100
- 101111
1010101 -> 10101012 = 8510

Divisão de Binários
A divisão binária pode ser realizada (calculada) usando-se os mesmos
passos da divisão decimal:

Exemplo 1: Dividir em decimal 27 por 2: ( 27 / 2 ) = 13 e Resto = 1

Transformando em binário: 2710 = 110112 210 = 102

O resultado 11012 = 1310

12

Você também pode gostar