pet
computação UFPE2008.2
Aula de apoio aos feras:
Sistemas de Numeração
pet
computação UFPERoteiro
• 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
pet
computação UFPESistemas 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
pet
computação UFPEConversã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
pet
computação UFPEConversã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 * 82 + 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
pet
computação UFPEConversão Base X – Base 10
•Exercícios, converter para a base 10:
• 11002
• 01112
• ABCD16
•A8B216
pet
computação UFPERespostas
•Respostas ao exercício anterior:
• 11002 = 12 10
• 01112 = 7 10
• ABCD16 = 43981 10
•A8B216 = 43186 10
pet
computação UFPEConversão Base 10 – Base X
• num1d x
r1 num2d x
r2 num3d
numn-1d x rn-1 rn
numix = rnx...r2xr1x
pet
computação UFPEConversão Base 10 – Base X
Momento de Parar: quando o
quociente é menor do que o
valor da base Neste caso, o valor da base é
“2”
• Exemplo, converter 5310 para binário:
53 2
1 26 2
0 13 2 1 6 2
0 3 2 1 1 1101012
pet
computação UFPEConversã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
pet
computação UFPEConversã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
pet
computação UFPEAdiçã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
pet
computação UFPEExemplos
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
10 1
- 0 1 1 0
0 0 1 1
pet
computação UFPEComplemento 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
pet
computação UFPEExemplo
• 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.
pet
computação UFPERepresentaçã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).
pet
computação UFPE• 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 -.
Números especiais
pet
computação UFPE• 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.
Erros de aproximação
pet
computação UFPE• 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.
Overflow e underflow
pet
computação UFPE• 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:
10
1
3 em base 10 ou base 12, 0,1 em base 10 ou base 2
10O computador usa representação finita, ele não pode representar de
forma exata os números reais.
Conclusão
pet
computação UFPEObrigado!!!
Creative Commons
Este material foi elaborado pelo PET Informática da UFPE, estando sob a licença Creative Commons. É permitido que outras pessoas usem e alterem a presente obra, desde que os créditos sejam dados ao PET Informática.
Não é permitido o uso comercial do material.
Maiores informações: http://creativecommons.org/licenses/by-nc/2.5/br/