Capítulo 9: Codificação Prof.: Roberto Franciscatto
Conceituação Um computador só pode identificar a informação através de sua capacidade de distinguir entre dois estados; Algo está imantado num sentido ou está imantado no sentido oposto. A uma dessas opções o computador associa o valor 1, e a outra o valor 0. Por meio da combinação de bits, pode-se chegar a representações variadas
Bases mais usadas em Informática Base 10 Sistema Decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Base 2 Sistema Binário: 0, 1 Base 8 Sistema Octal 0, 1, 2, 3, 4, 5, 6, 7 Base 16 Sistema Hexadecimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Tabela de Representação
Mudanças de Bases Da base 2 para a base 10 Multiplicando os algarismos, da direita para a esquerda, pelas sucessivas potências de 2, e somando-se essas parcelas. 1 1 0 0 1 1x2 0 + 0x2 1 + 0x2 2 + 1x2 3 + 1x2 4 = 25
Mudanças de Bases Da base 10 para a base 2 Através de divisões sucessivas por 2, até obter quociente 0, tomando-se os restos da ordem inversa à que tiverem sido obtidos. 25 2 1 12 2 0 6 2 0 3 2 1 1 2 1 0 1 1 0 0 1
Mudanças de Bases Da base 16 para a base 10 Multiplicando-se os algarismos, da direita para a esquerda, pelas sucessivas potências de 16, e somando-se essas parcelas C 2 0 3 3x16 0 + 0x16 1 + 2x16 2 +12x16 3 = 49667
Mudanças de Bases Da base 10 para a base 16 Através de divisões sucessivas por 16, até obter quociente 0, tomando-se os restos da ordem inversa à que tiverem sido obtidos. 49667 16 3 3104 16 0 194 16 2 12 16 12 C203
Mudanças de Bases Da base 16 para a base 2 Forma-se uma cadeia de símbolos binários, dando-se valor binário a cada s[imbolo hexadecimal. A 5 6 B 1010 0101 0110 1011
Mudanças de Bases Da base 2 para a base 16 Divide-se o número, da direita para a esquerda, em grupos de 4 bits. Substitui-se cada grupo por símbolos hexadecimais correspondentes. 101 1110 1101 5 E D
Mudanças de Bases Da base 10 para a base 8 Utiliza-se divisão sucessiva para encontrar o valor octal a partir o número decimal. Ex.: Dividimos sucessivamente o número 1985 até encontrarmos restos que sejam menores ou iguais a oito. 1985 8 385 248 8 65 08 31 8 1 0 7 3 Resultado: 1985 = 3701 em octal
Mudanças de Bases Da base 8 para a base 10 Existem vários métodos, sendo mais comumente utilizado o método em que se faz a conversão de forma direta através da fórmula. Exemplo: Converter o número octal 764 para o sistema decimal 764 (8) = 7 x 8² + 6 x 8¹ + 4 x 8 = 448 + 48 + 4 = 500 (10)
Mudanças de Bases Da base 8 para a base 16 Para esta conversão é necessário executar um passo intermediário utilizando o sistema binário. Primeiramente converte-se o número octal em binário e depois converte-se o binário para o sistema hexadecimal, agrupando-se os dígitos de 4 em 4 e fazendo cada grupo corresponder a um dígito hexadecimal. Ex.: conversão do número octal 1057 em hexadecimal
Mudanças de Bases Da base 16 para a base 8 Esta conversão, assim com a anterior, exige um passo intermediário em que se utiliza o sistema binário. Converte-se o número hexadecimal em binário e este em octal. Exemplo: Converter o número hexadecimal 1F4 em octal.
Mudanças de Bases Da base 2 para a base 8 Para converter um número binário em octal, agrupam-se os dígitos binários de 3 em 3 do ponto decimal da direita para a esquerda, substituindo-se cada trio de dígitos binários pelo equivalente dígito octal. Exemplo, a conversão do número binário 1010111100 em octal:
Mudanças de Bases Da base 8 para a base 2 Forma-se grupos de 3 em 3 bits na conversão direta. Exemplo, a conversão do número octal 53062 para binário: 5 3 0 6 2 101 011 000 110 010
Mudanças de Bases Resumão Base 2 p/ 8 = direta de 3 em 3 Base 2 p/10 = multiplicação por 2 Base 2 p/16 = direta de 4 em 4 Base 8 p/ 2 = direta 3 em 3 Base 8 p/ 10 = multiplicação por 8 Base 8 p/ 16 = direta 3 em 3 depois 4 em 4 Base 10 p/ 2 = divisão por 2 = resto da dir. para esq. Base 10 p/ 8 = divisão por 8 = resto da dir. para esq. Base 10 p/ 16 = divisão por 16 = resto da dir. para esq. Base 16 p/ 2 = direta da dir. para esq. Base 16 p/ 8 = direta 4 em 4 depois 3 em 3 Base 16 p/ 10 = multiplicação direta por 16 http://www.cafw.ufsm.br/~roberto/wp-content/uploads/2010/11/19_11_10- Codificação1.pdf
Computador Sistema Binário Possui apenas dois algarismos: - Componentes eletrônicos possuem dois estados elétricos: ligado ou desligado - Armazenamento e manipulação mais simples - Representação dos números mais longa Um circuito contendo um sinal elétrico é chamado de bit (Binary Digit)
Unidades de Grandeza 8 bits = 1 byte Múltiplos em potências de 2 (2 10 = 1024): - 1 Kilobyte KB = 1024 bytes (2 10 bytes) - 1 Megabyte MB = 1024 KB (2 20 bytes) - 1 Gigabyte GB = 1024 MB (2 30 bytes) - 1 Terabyte TB = 1024 GB (2 40 bytes) - 1 Petabyte PB = 1024 TB (2 50 bytes) - 1 Exabyte EB = 1024 PB (2 60 bytes) - 1 Zettabyte ZB = 1024 EB (2 70 bytes) - 1 Yottabyte YB = 1024 ZB (2 80 bytes)
Padrões de Caracteres - EBCDIC Extended Binary-Coded Decimal Interchange Code - Criada pela IBM em 1964 - Utiliza 8 bits para representar um caractere, permite 256 caracteres - Ainda utilizada em computadores de grande porte (mainframes)
Padrões de Caracteres - ASCII American Standard Code for Information Interchange - Começou a tornar-se padrão em 1967 - Utilizava 7 bits para representar um caractere, permitia 128 caracteres - Gerou diversas extensões e variações: ASCII Extended 256 caracteres; ISO 8859 256 caracteres; UTF-8 mais de 1 milhão de caracteres;
EXERCÍCIOS 1 Transforme de binários para octal, decimal e hexadecimal: 01101111 Resp. (157, 111, 6F) 2 Transforme de octal para binário, decimal e hexadecimal: 175 Resp. (1111101, 125, 7D) 3 Transforme de decimal para binário, octal e hexadecimal: 256 Resp. (100000000, 400, 100) 4 Transforme de hexadecimal para binário, octal e decimal: C203 Resp. (1100001000000011, 141003, 49667)
EXERCÍCIOS (2) 1 Efetue as seguintes conversões entre sistemas de numeração: a) X( 2 ) = 46( 10 ) X( 10 ) = 173( 8 ) X(8) = BA9( 16 ) b) X( 16 ) = 453( 8 ) X( 2 ) = 101( 8 ) X(10) = 41( 16 ) c) X( 16 ) = 245( 10 ) X( 2 ) = 256( 10 ) X(16) = 1101001( 2 ) 2 Determine os valores máximos decimal, octal e hexadecimal representáveis com 10 bits (dígitos binários) 3 Determine os valores máximos decimal, binário e octal representáveis com 2 digitos hexadecimais 4 Determine o valor máximo octal representável por: a) Dois digitos decimais b) sete digitos binários c) dois digitos hexadecimais
Dúvidas, sugestões ou questionamentos??? roberto.franciscatto@gmail.com