Você está na página 1de 20

Sistemas de Numeração

2008.2
Roteiro
• Visão geral de sistemas numéricos e aprender como
transformar de decimal em binário, octal e hexadecimal,
e vice-versa.

•Aprender as operações aritméticas básicas utilizando estes


sistemas de numeração

•Transmitir uma noção da importância dos sistemas de


numeração binário e hexadecimal, principalmente, para a
computação
Sistemas Numéricos
• Principais sistemas numéricos:
• Decimal
• 0, 1, ..., 9
• Binário
• 0, 1
• Octal
• 0, 1, ..., 7
• Hexadecimal
• 0, 1, ..., 9, A, B, C, D, E, F
•É importante atentar que no sistema hexadecimal, as letras de A
até F equivalem, em decimal, a 10, 11, 12, 13, 14 e 15,
respectivamente
Conversão Base X – Base 10
• Processo: soma de multiplicações
• numd = anxn + an-1xn-1 + ... + a0x0

• Exemplos, converter para a base 10:


• 10112
• 4A3B16
•72718
Conversão Base X – Base 10
• numd = anxn + an-1xn-1 + ... + a0x0
• Binário – Decimal: 10112
• 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20
• 1 * 8 + 0 * 4 + 1 * 2 + 1 * 1 = 1110
• Octal– Decimal: 72718
• 7 * 83 + 2 * 8 2 + 7 * 81 + 1 * 80
• 7 * 512 + 2 * 64 + 7 * 8 + 1 * 1 = 376910
• Hexadecimal – Decimal: 4A3B16
• 4 * 163 + A * 162 + 3 * 161 + B * 160
• 4 * 163 + 10 * 162 + 3 * 161 + 11 * 160
• 4 * 4096 + 10 * 256 + 3 * 16 + 11 * 1 = 1900310
Conversão Base X – Base 10
• Exercícios, converter para a base 10:
• 11002
• 01112
• ABCD16
•A8B216
Respostas
•Respostas ao exercício anterior:
• 11002 = 12 10
• 01112 = 7 10
• ABCD16 = 43981 10
•A8B216 = 43186 10
Conversão Base 10 – Base X
• num1d x
r1 num2d x
r2 num3d

numn-1d x
rn-1 rn

numix = rnx...r2xr1x
Conversão Base 10 – Base X
• Exemplo, converter 5310 para binário:
53 2
Momento de
1 26 2 Parar: quando o
0 13 2 quociente é
menor do que o
1 6 2 valor da base
0 3 2 Neste caso, o
1 1 valor da base é
“2”
1101012
Conversão Base 10 – Base X
• Exemplo, converter 101610 para hexadecimal:
1016 16
8 63 16
15 3
3F816

•Exemplo, converter 5310 para hexadecimal:


53 16
5 3
3516
Conversão Base 10 – Base X
• Exercícios, converter da base 10:
• para binário, 25
• para hexadecimal, 156
• Respostas
• 25 10 = 11001 2
• 156 10 = 9C 16
Adição e subtração em binário
• As operações aritméticas com números binários são feitas
de forma análoga aos decimais
• Para a subtração, em especial, é necessário lembrar os
“empréstimos” ensinados durante o primário
• É importante ter em mente que:
– 1 + 1 = 0 e “vai” 1
– 1+0=0+1=1
– 0+0=0
– 1 + 1 + 1 = 1 e “vai” 1
Exemplos

Ex1: 1 1 1 - vai 1

1 0 1 1 – 1a. parcela
+ 1 1 1 1 - 2a. parcela
1 1 0 1 0 – resultado
0 1

Ex2: 1 0 1
0 1
- 0 1 1 0
0 0 1 1
Complemento a 2
• Por questões de convenção e eficiência, utiliza-se a notação de complemento a
2 para se trabalhar com números binários no computador
• Utilizando esta notação, a subtração é uma soma. Por exemplo: 7 – 5 seria 7 +
(-5)
• Embora seja uma alteração sutil, faz uma enorme diferença para o computador
• Números que tenham o bit mais à esquerda 1 são negativos. Os que tiverem 0
neste bit, serão positivos
• Para trabalhar com complemento a 2, é necessário saber a quantidade de bits
que os números devem ter. Isto varia de acordo com o processador. Caso o
resultado exceda esta quantidade de bits, o bit mais à esquerda é desprezado
• Deve-se proceder da seguinte maneira:
– Os números negativos devem ter seus bits invertidos
– Soma-se 1 ao valor obtido
Exemplo
• Faça 10 – 5 utilizando complemento a 2. Suponha que seu processador
trabalhe com números de 5 bits
• Na verdade, deve-se fazer 10 + (-5)
• 10, em binário é: 01010
• 5 em binário é: 00101
• Aplicando o complemento a 2, obteremos -5:
– 00101. Invertendo seus bits, temos: 11010
– Fazendo 11010 + 1, temos 11011
• Agora, basta somar: 01010 + 11011. Assim, obtemos 100101. Como o
processador é de 5 bits, o bit mais à esquerda a mais será desprezado.
Assim, o número que obtive como resultado foi 00101. De fato, o
resultado é 5.
Representação no computador
• O computador trabalha com grupos de bits (palavra). Em
geral, essas palavras são de 16 ou 32bits, mas hoje existem
computadores manipulando 64bits.

• Em geral, ele usa uma palavra para representar os números


inteiros (INT, LONG, SHORT...) e um bit é utilizado para
indicar o sinal do número (0 positivo e 1 negativo).
Números especiais

• No standard IEEE, além dos números finitos, são definidos números


específicos:
– - e , para os infinitos.
– NaN (not-a-number), para representar resultados de operações
como 0/0,  - , 0x,
– -0, definido com o inverso de -.
Erros de aproximação

• O computador representa os números de uma forma finita e


aproximativa:
– Precisa de forma de gerenciar o infinitamente pequeno e o
infinitamente grande,
– Precisa de minimizar e medir os erros de aproximação.
Overflow e underflow

• Os números manipulados
– grande demais para ser representados provocam um overflow.
– pequeno demais para ser representados provocam um underflow.
• Os sistemas têm feedback diferentes em caso de over ou underflow.
Certos param a execução, certos dão uma mensagem e outros
representam o número de uma forma especifica.
Conclusão

• A representação dos números depende do suporte material para


representar e calcular (binário com o computador).
• O mesmo número pode ter uma representação finita ou infinita
dependendo da base:
1
em base 10 ou base 12, 0,110 em base 10 ou base 2
310
O computador usa representação finita, ele não pode representar de
forma exata os números reais.

Você também pode gostar