Tecnobyte Informática

Sistemas Numéricos


Autor: Daniel Pereira Guimarães
E-mail:: temp2@tecnobyte.com.br
Todos os direitos reservados.


Introdução

Em nosso cotidiano utilizamos muitos números. E quase sempre estamos usando o sistema decimal, ou seja, números formados por dígitos de zero a nove. Porém existem outros sistemas numéricos, os quais são usados para os mais variados propósitos. Vejamos a seguir uma pequena lista dos principais sistemas numéricos:

Neste artigo estudaremos um pouco sobre os sistemas decimal, binário e hexadecimal.

Sistemas Numéricos Posicionais

Para iniciar nossos estudos vamos entender o que é um sistema numérico posicional. Para este propósito vamos considerar os números 4664 (decimal) e XXXVII (37 em romano). Vamos observar algumas propriedades importantes nestes dois números:

A partir destas observações podemos concluir que no sistema decimal o valor de um determinado símbolo depende de sua posição, ou seja, este é um sistema posicional. O mesmo não acontece com o sistema romano e, portanto, o sistema romano não é posicional.

Os sistemas binário e hexadecimal também são sistemas numéricos posicionais.

Valor Posicional

Como já vimos, em um sistema posicional um mesmo símbolo pode assumir valores diferentes dependendo de sua posição. Sendo assim, para sabermos o valor de qualquer número que esteja escrito em um sistema posicional, precisamos conhecer o valor posicional de cada símbolo. Isto é o que veremos a seguir.

Fórmula para cálculo do valor posicional

Para calcular o valor de um determinado símbolo em um número que esteja representado com sistema posicional, precisamos aplicar a fórmula do valor posicional que é:

V = S * B ^ P

Vamos conhecer melhor esta fórmula:

V Valor posicional do símbolo. Exemplo: o valor posicional do símbolo 4 no número decimal 345 é 40.
S Valor absoluto do símbolo. Exemplo: o valor do símbolo 4 no sistema decimal é 4.
P É a posição em que o símbolo em questão se encontra no número. Esta posição é definida da direita para esquerda e inicia em zero. Exemplos:
  • A posição do símbolo 5 no número 345 é 0 (zero).
  • A posição do símbolo 4 no número 345 é 1.
  • A posição do símbolo 3 no número 345 é 2.
Obs.: Na fórmula V = S * B ^ P, usamos o asterisco para indicar multiplicação e o acento circunflexo para indicar potência. Sendo assim leia-se esta fórmula como:

V é igual a S que multiplica B elevado ao expoente P.

Conhecendo esta fórmula fica fácil sabermos o valor de qualquer número, seja ele decimal, binário, hexadecimal, etc. Basta calcular o valor posicional de cada símbolo do número dado e então somar os valores encontrados. Vejamos um exemplo:

Vamos considerar novamente o número decimal 345.

Posição 2 1 0
Símbolos 3 4 5
Valor posicional V=3 * 10 ^ 2

V=3 * 100

V=300
V=4 * 10 ^ 1

V=4 * 10

V=40
V=5 * 10 ^ 0

V=5 * 1

V=5

Somando os valores encontrados temos:

30 + 40 + 5 = 345

Acredito que nunca precisaremos fazer todos estes cálculos para concluir que o número decimal 345 vale 345. Mas este é apenas um exemplo didático para demonstrar a aplicação a aplicação da fórmula do valor posicional.

Atenção!

Esta fórmula só se aplica a números que usem sistema posicional. Não é válida, por exemplo, para calcular números no sistema romano, visto que este não é um sistema posicional.

Sistema Decimal

O sistema decimal é provavelmente o sistema numérico posicional mais antigo que conhecemos. Surgiu na Índia e, aos poucos, foi substituindo os demais sistemas numéricos existentes e hoje é quase universal. Para representar um número decimal usamos 10 símbolos (0, 1, 2, ..., 9), e portanto sua base é 10.

Sistema Binário

Para nós, seres humanos, o sistema numérico decimal é bastante satisfatório. No entanto para uma máquina, como o computador, este sistema não é muito prático, visto que os dados precisam ser interpretados usando-se o estado da corrente elétrica (ligada/desligada, alta/baixa, ou algo parecido). Para resolver este impasse foi elaborado o sistema de numeração binária, que usa os dígitos ZERO e UM em sua representação, os quais correspondem aos estados desligado e ligado, respectivamente. O uso de dois símbolos determina que este é um sistema de base 2. No sistema binário o valor de um símbolo (zero ou um) depende de sua posição, o que significa que este também é um sistema posicional.

Embora o sistema binário resolva o problema das máquinas eletrônicas, para nós o sistema decimal continua sendo o preferido. Então o que fazer para que possamos conviver harmoniosamente com os dois sistemas numéricos? Precisamos saber como converter números de decimal para binário e vice-versa.

Convertendo de Decimal para Binário

Como representar o número 37 em binário? Para responder esta pergunta podemos utilizar uma calculadora científica. Como não teremos sempre uma calculadora científica ao nosso dispor é melhor aprender todos os passos para fazer tal conversão. Estes passos são, na verdade, divisões sucessivas do número dado por 2 (base do sistema binário), até que tenhamos um quociente zero. Veja abaixo como converter o número 37 para binário:

Dividendo Divisor Quociente Resto
37 2 18 1
18 2 9 0
9 2 4 1
4 2 2 0
2 2 1 0
1 2 0 1

Convertendo de Binário para Decimal

Já sabemos como converter de decimal para binário. Agora vamos aprender a conversão inversa, ou seja, de binário para decimal. Para fazer esta conversão precisamos calcular o valor posicional de cada símbolo do número dado. Então usaremos a fórmula valor posicional:

V = S * B ^ P

Sabendo que o sistema binário possui base igual a dois, tomaremos o exemplo do número 100101:

Posição 5 4 3 2 1 0
Símbolo 1 0 0 1 0 1
Valor posicional V=1*2^5

V=1*32

v=32
V=0*0*2^4

V=0*16

V=0
V=0*2^3

V=0*8

V=0
V=1*2^2

V=1*4

V=4
V=0*2^2

V=0*2

V=0
V=1*2^0

V=1*1

V=1

Somando os valores dos dígitos (32 + 0 + 0 + 4 + 0 +1) teremos o total 37, que é a representação decimal do número binário 100101.

Sistema Hexadecimal

Este é um outro sistema numérico posicional bastante usado em informática, especialmente em programação assembly. Neste sistema dispomos de 16 símbolos conforme mostra a tabela abaixo:

Símbolo Valor absoluto
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
9 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15

Convertendo de Decimal para Hexadecimal

Sabendo-se que o sistema hexadecimal dispõe de 16 símbolos, concluímos que sua base é 16. Aplicando a mesma técnica que utilizamos na conversão de decimal para binário podemos converter qualquer número decimal para hexadecimal facilmente. Vejamos o exemplo da conversão do número decimal 23870 para hexadecimal:

Dividendo Divisor Quociente Resto
23870 16 1491 14
1491 16 93 3
93 16 5 13
5 16 0 5

Tomando-se os restos na ordem inversa e seus respectivos símbolos, temos:

Resto 5 13 3 14
Símbolo 5 D 3 E

Assim concluímos que o número decimal 23870 convertido para hexadecimal é: 5D3E.

Convertendo de Hexadecimal para Decimal

Esta conversão também é bastante simples. Como o sistema hexadecimal também é posicional, basta aplicar a fórmula do valor posicional a cada símbolo e somar os resultados obtidos. Veja no exemplo abaixo como converter o número hexadecimal 5C3FA para decimal:

Posição 4 3 2 1 0
Símbolo 5 C 3 F A
Valor absoluto 5 12 3 15 10
Valor posicional V=5*16^4

V=5*65536

V=327680
V=12*16^3

V=12*4096

V=49152
V=3*16^2

V=3*256

V=768
V=15*16^1

V=15*16

V=240
V=10*16^0

V=10*1

V=10

Somando-se os valores posicionais encontrados, temos:

327680 + 49152 + 768 + 240 + 10 = 377850

Portanto o número hexadecimal 5C3FA convertido para decimal é: 377850.