Sistemas de Informações Fundamentos da Computação 7. Conversão de Bases Márcio Aurélio Ribeiro Moreira [email protected] http://si.uniminas.br/~marcio/ Conversão de Bases Conversão Base B Decimal: Colocar o número na formal polinomial (∑ algarismo x Bposição-1) e resolver: Exemplo Binário Decimal: 1101(2) = 1x23 + 1x22 + 0x21 + 1x20 = 1x8 + 1x4 + 0x2 + 1x1 = 13(10) Exemplo Octal Decimal: 132(8) = 1x82 + 3x81 + 2x80 = 1x64 + 3x8 + 2x1 = 90(10) Exemplo Hexadecimal Decimal: A7D(16) = A x162 + 7x161 + D x160 = 10x256 + 7x16 + 13x1 = 2560 + 112 + 13 = 2685(10) Márcio Moreira 7. Conversão de Bases – Slide 2 Fundamentos da Computação Conversão Base B Decimal Binário Decimal: 101(2) = 5(10) 10011(2) = 19(10) 1110100(2) = 116(10) Octal Decimal: 5(8) = 5(10) 43(8) = 35(10) 2745(8) = 1509(10) Hexa Decimal: B(16) = 11(10) 2C(16) = 44(10) 3F4(16) = 1012(10) Márcio Moreira Números Binário Valores das posições 64 32 16 8 101(2) 10011(2) 1110100(2) 1 Octal 1 Resultado 4 2 1 Decimal 1 0 1 5(10) 1 0 0 1 1 19(10) 1 0 1 0 0 116(10) 4096 512 64 8 1 Decimal 5 5(10) 4 3 35(10) 5(8) 43(8) 2745(8) 2 7 4 5 1509(10) Hexa 4096 256 16 1 Decimal 11 11(10) 2 12 44(10) 15 4 1012(10) B(16) 2C(16) 3F2(16) 7. Conversão de Bases – Slide 3 3 Fundamentos da Computação Conversão Decimal Binário Dividir o número decimal por 2 e os quocientes das divisões, até que o quociente seja 0. A seqüência formada pelos restos em ordem inversa é o número binário. Ex: 59(10) = ?(2) Resposta: 59(10) = 111011(2) 59 1 Números 2 29 1 2 14 0 Exercícios: 2 7 1 2 3 1 2 1 1 Valores das posições 2 0 6(10) = 110(2) 31(10) = 11111(2) 97(10) = 1100001(2) Números Resultado Decimal 6(10) Decimal 32 16 8 4 2 1 Binário 59(10) 1 1 1 0 1 1 111011(2) 64 32 31(10) 97(10) Márcio Moreira Valores das posições 7. Conversão de Bases – Slide 4 1 1 16 8 Resultado 4 2 1 Binário 1 1 0 110(2) 1 1 1 1 1 11111(2) 0 0 0 0 1 1100001(2) Fundamentos da Computação Conversão Decimal Octal Dividir o número decimal por 8 e os quocientes das divisões, até que o quociente seja 0. A seqüência formada pelos restos em ordem inversa é o número octal. Ex: 112(10) = ?(8) 112 8 Resposta: 112(10) = 160(8) 0 14 6 8 1 1 8 0 Decimal Exercícios: 17(10) = 21(8) 82(10) = 122(8) 118(10) = 166(8) Márcio Moreira Números 112(10) Valores das posições 4096 512 Resultado 64 8 1 Octal 1 6 0 160(8) 2 1 21(8) 17(10) 82(10) 1 2 2 122(8) 118(10) 1 6 6 166(8) 7. Conversão de Bases – Slide 5 Fundamentos da Computação Conversão Decimal Hexadecimal Dividir o número decimal por 16 e os quocientes das divisões, até que o quociente seja 0 A seqüência formada pelos restos em ordem inversa é o número hexadecimal Ex: 123(10) = ?(16) Resposta: 123(10) = 7B(16) 123 11 16 7 16 7 0 Números Exercícios: Decimal 17(10) = 11(16) 82(10) = 52(16) 141(10) = 8D(16) Márcio Moreira Valores das posições Resultado 4096 16 1 Hexadecimal 123(10) 7 11 7B(16) 17(10) 1 1 11(16) 82(10) 5 2 52(16) 141(10) 8 13 8D(16) 7. Conversão de Bases – Slide 6 256 Fundamentos da Computação Decimal Fracionário Binário Quando inteiro, usamos dividir por 2 Se fracionário, multiplicamos a fração por 2 até que a fração seja 0 ou até um limite de erro desejado O binário é a parte inteira do resultado Exemplo: 0.828125(10) = 0.110101(2). 0.828125 0.65625 0.3125 0.625 0.25 0.5 x x x x x x 2 2 2 2 2 2 = = = = = = 1.65625 1.3125 0.625 1.25 0.5 1 0.828125 0.65625 0.3125 0.625 x x x x 2 2 2 2 = = = = 1.65625 1.3125 0.625 1.25 Exemplo: 0.828125(10) com erro de 2-4 = 0.1101(2) Basta realizar 4 operações de multiplicação Márcio Moreira 7. Conversão de Bases – Slide 7 Fundamentos da Computação Decimal Inteiro.Fracionário Binário Considerando um decimal com parte inteira e fracionária Neste caso, converte-se cada parte separadamente depois junta-se ambas montando o resultado Exemplo: 13.1875(10) = 1101.0011(2) Parte inteira: 13 1 2 6 0 2 3 1 2 1 1 2 0 Parte fracionária: 0.1875 0.375 0.75 0.5 Márcio Moreira x x x x 2 2 2 2 = = = = 0.375 0.75 1.5 1 7. Conversão de Bases – Slide 8 Fundamentos da Computação Decimal Inteiro.Fracionário Octal Para a parte fracionária, multiplicamos a fração por 8 até que a fração seja 0 ou até um limite de erro desejado O octal é a parte inteira do resultado Exemplo: 13.1875(10) = 15.14(8) Parte inteira: 13 5 8 1 1 8 0 Parte fracionária: 0.1875 x 8 = 1.5 0.5 x 8 = 4 Márcio Moreira 7. Conversão de Bases – Slide 9 Fundamentos da Computação Decimal Inteiro.Fracionário Hexadecimal Para a parte fracionária, multiplicamos a fração por 16 até que a fração seja 0 ou até um limite de erro desejado O hexadecimal é a parte inteira do resultado. Exemplo: 31.01171875(10) = 1F.03(16). Parte inteira: 31 15 16 1 16 1 0 Parte fracionária: 0.01171875 x 16 = 0.1875 0.1875 x 16 = 3 Márcio Moreira 7. Conversão de Bases – Slide 10 Fundamentos da Computação Octal Binário Hexadecimal Cada dígito octal tem base 8 usa 3 bits. Cada dígito hexa tem base 16 usa 4 bits. Exemplos: 4 2 1 4 2 1 Octal Binário: 25(8) = Hexa Binário: 4E(16) = 0 1 0 8 4 2 1 0 1 0 0 1 0 1 8 4 2 1 1 1 1 0 = 010101(2) = 01001110(2) Logo, 3 bits 1 dígito octal e 4 bits 1 dígito hexa. Exemplos: 4 2 1 4 2 1 Binário Octal: 101011(2) = Binário Hexa: 101101 (2) = Márcio Moreira 7. Conversão de Bases – Slide 11 1 0 1 8 4 2 1 0 0 1 0 0 1 1 8 4 2 1 1 1 0 1 = 53(8) = 2D(16) Fundamentos da Computação Curiosidades sobre os binários Valor da posição = soma das anteriores + 1: Ex: 4 = 3 + 1 Ex: 8 = 7 + 1 Ex: 16 = 15 + 1 Ex: 32 = 31 + 1 31 15 7 3 32 16 8 4 2 1 16 8 4 2 1 8 4 2 1 4 2 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 Multiplicar por 2 rotação à esquerda: Ex: 1101(2) x 2 = 11010(2) Ex: 1011(2) x 2 = 10110(2) [13 x 2 = 26](10) [11 x 2 = 22](10) Dividir por 2 rotação à direita: Ex: 10100(2) / 2 = 1010(2) Ex: 10111(2) / 2 = 1011(2) Márcio Moreira [20 / 2 = 10](10) [23 / 2 = 11](10) 7. Conversão de Bases – Slide 12 Fundamentos da Computação Exercícios Fazer as conversões solicitadas abaixo: 123(10) 11001( 2) 175( 8) 13A(16) = ?( 2) = ?(8) = ?(16) = ?(10) = ?(8) = ?(16) = ?(10) = ?(2) = ?(16) = ?(10) = ?(2) = ?( 8) Observação: Nas conversões da base 10 para qualquer outra usar divisão Márcio Moreira 7. Conversão de Bases – Slide 13 Fundamentos da Computação