14/03/2013 Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração Sistemas de Numeração Este material foi originalmente elaborado pelo PET Informática da UFPE, estando sob a licença Creative Commons. Adaptado por Társio Ribeiro Cavalcante Roteiro Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • 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: Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • 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 1 14/03/2013 Conversão Base X – Base 10 Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • 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 Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • 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 Conversão Base X – Base 10 Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • Exercícios, converter para a base 10: • 11002 • 01112 • ABCD16 •A8B216 2 14/03/2013 Respostas •Respostas ao exercício anterior: Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • 11002 = 12 10 • 01112 = 7 10 • ABCD16 = 43981 •A8B216 = 43186 10 10 Conversão Base 10 – Base X Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • num1d x r1 num2d x r2 num3d numn-1d rn-1 x rn numix = rnx...r2xr1x Conversão Base 10 – Base X Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • Exemplo, converter 5310 para binário: 53 2 Momento de Parar: quando o quociente é menor do que o valor da base 1 26 2 0 13 1 2 6 2 0 3 2 1 1 1101012 Neste caso, o valor da base é “2” 3 14/03/2013 Conversão Base 10 – Base X • Exemplo, converter 101610 para hexadecimal: Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração 1016 16 8 63 16 15 3 3F816 •Exemplo, converter 5310 para hexadecimal: 53 16 5 3 3516 Conversão Base 10 – Base X Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • 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 Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • 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 4 14/03/2013 Exemplo Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração Ex1: 1 1 1 - vai 1 1 0 1 1 – 1a. parcela + 1 1 1 1 - 2a. parcela 1 1 0 1 0 – resultado 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. Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • 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 Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • 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 -∞. 5 14/03/2013 Erros de aproximação • Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeraçã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 • Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração • 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 Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeraçã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. 6 14/03/2013 Obrigado!!! Társio Ribeiro Cavalcante IFBAIANO – Instituto Federal de Educação Ciência e Tecnologia Baiano Sistemas de Numeração Creative Commons Este material foi originalmente 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/ 7