Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Codificação • Computadores e Equipamentos de Comunicações Digitais trabalham com representação e códigos. • A codificação binária de sinais é largamente utilizada em Sistemas de Comunicação. • O código binário pode ser facilmente representado em sistemas de numeração octal e hexadecimal. Principais códigos utilizados • Descrição Qde de informação • Binário variável • Binário Decimal (BCD) 6 bits • EBCDIC 8 bits • ASCII 8 bits Código Binário puro e suas variantes • Todos os códigos existentes são variantes de um código original básico denominado de código binário puro. • Esse código é empregado principalmente para representações numéricas, independente do número de bits utilizados, constituindo a unidade básica da informação. Código binário puro • É simplesmente a representação do sistema binário já descrito. • Utiliza-se apenas os algarismos 0 e 1 e os pesos dos algarismos variam da direita para a esquerda em relação à potência de 2. Codificação binária • O sistema binário é composto por dois algarismos fundamentais: o 0 (zero) e o 1 (um). • 0 (zero) - não, vazio, nada, a ausência de corrente na Lógica Digital, ou o false (falso) na Algébra de Boole , • 1 (um) - sim, a presença de corrente elétrica na Lógica Digital, ou o true (verdadeiro) na Algébra de Boole. Codificação Binária • cada dígito recebe o nome de bit (Binary Digit); • já um byte é composto por oito bits (uma sequência binária de oito dígitos) • e a partir de então segue: 1 KB (1024 bytes), 1MB (1024 KB), e assim sucessivamente. 2 Codificação Binária 11111010001000 1100100100 101010 01015 01004 00113 00102 00011 00000 Sistema BinárioSistema Decimal Conversões • De binário para qualquer base • No sistema binário, a posição de um bit é fundamental na conversão para outra base. • O primeiro bit a direita (o último no sistema decimal) corresponde à posição 0 (zero), o segundo bit a direita à posição 1 (um) e assim sucessivamente. Conversões • De binário para qualquer base • Além da necessidade funcional, o processo de conversão entre uma base e outra é fundamental para o uso da informação, pois no Sistema de numeração binário, a partir de certo valor, passamos a ter muitas posições, o que torna cálculo e a leitura dos números cada vez mais complexos. As conversões mais comuns são de binário para as bases: octal, decimal e hexadecimal. • Decimal – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 • Binário – 0, 1 • Octal – 0, 1, 2, 3, 4, 5, 6, 7 • Hexadecimal – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Binário - Decimal 1 0 1 0 1 0 0 1 27 25 23 20 128 + 32 + 8 + 1 = 169 Decimal - Binário 101010012 10 221 250 2101 2210 2420 2841 2169 3 Binário - Octal • 1 0 1 0 1 0 0 1 27 25 23 20 128 + 32 + 8 + 1 = 169 Binário - Octal • 2518 1 0 1 0 1 0 0 1 25 8211 8169 Octal - Binário 1 – Separa os algarismos do número na base Octal: 251 → 2 - 5 - 1 2 – Converte-se cada um desses algarismos para seu respectivo número binário de 3 bits: a) 2 = 010 b) 5 = 101 c) 1 = 001 3 - Junta-se as somas: A seguir, junta-se as somas da primeira operação realizada até a última, no caso citado(010, 101, 001), formando o algarismo 010101001 ou simplesmente 10101001 na base binária. Binário - Hexadecimal • 1 0 1 0 1 0 0 1 27 25 23 20 128 + 32 + 8 + 1 = 169 Binário - Hexadecimal A9 109 16169 Binário - Hexadecimal 1 - Agrupa-se o número binário em 4 bits: 10101001 → 1010 - 1001 2 - Soma-se os produtos, da base 2(dois) elevado à posição equivalente: a) 1010 = [(1 x 23) + (0 x 22) + (1 x 21) + (0 x 20)] = (8 + 0 + 2 + 0) = 10 = A b) 1001 = [(1 x 23) + (0 x 22) + (0 x 21) + (1 x 20)] = (8 + 0 + 0 + 1) = 9 3 - Junta-se as somas: A seguir, junta-se as somas da primeira operação realizada até a última, no caso citado(A, 9), formando o algarismo A9 na base hexadecimal. 4 Hexadecimal - Decimal 1 – Separa os algarismos do número na base hexadecimal: C13 → C - 1 - 3 2 – Converte-se cada um desses algarismos para seu respectivo número em decimal a) C = 12 * 16² = 12 * 256 = 3072 b) 1 = 1* 16¹ = 16 c) 3 = 3 * 160= 3 2 – Soma-se os três números 3091 Hexadecimal - Binário 1 – Separa os algarismos do número na base hexadecimal: C13 → C - 1 - 3 2 – Converte-se cada um desses algarismos para seu respectivo número binário de 4 bits: a) C = 12 = 1100 b) 1 = 0001 c) 3 = 0011 3 - Junta-se as somas: A seguir, junta-se as somas da primeira operação realizada até a última, no caso citado(1100, 0001, 0011), formando o algarismo 1100000100112 Código binário Decimal (BCD) • O código binário decimal, mais conhecido como BCD (Binary Coded Decimal). • representa uma variação do código binário puro, sendo mais fácil a sua interpretação. • código de 4 bits. • algarismos de 0 a 9. • Cada dígito é representado por seu equivalente binário. Correspondência entre os códigos decimal, binário e BCD Código binário Decimal (BCD) • Decimal: 10 BCD: 0001 0000 • Decimal: 11 BCD: 0001 0001 • Decimal: 12 BCD: 0001 0010 • Decimal: 13 BCD: 0001 0011 • Decimal: 14 BCD: 0001 0100 • Decimal: 15 BCD: 0001 0101 Código binário Decimal (BCD) (26)10 = ( 0010 0110 )BCD (728)10 = ( 0111 0010 1000 )BCD 5 BCD x Binário • BCD não é um outro sistema de numeração, como binário, octal, hexadecimal ou decimal. • Ele é um sistema decimal, com cada digito codificado no seu equivalente binário. • Número BCD não é o mesmo que número binário puro. • Código binário puro considera o número decimal completo e representa em binário. • Código BCD converte cada dígito decimal em binário individualmente. BCD x Binário • Considere o número 137 e compare seus códigos binário e BCD: • 137 = 100010012 • 137 = 0001 0011 0111BCD • Código BCD requer 12 bits. • Código binário puro requer 8 bits. • Principal vantagem do BCD: relativa facilidade de conversão para decimal e vice-versa. • Facilidade é importante do ponto de vista de hardware pois são os circuitos lógicos que realizam as conversões. EBCDIC (Extended Binary Decimal Interchange Code) • Usado em plataformas de grande porte • Padrão 8 bits Codificação ASCII (American Standart code for Information Interchange) • Código Padrão Americano para Troca de Informações. • É um código de 7 bits (27) com 128 caracteres. • Para aproveitar os 8 bits de um byte, normalmente é utilizada a versão estendida da tabela ASCII, permitindo a codificação de 256 caracteres. • É usado para transferência de informação entre computador e dispositivos de entrada/saída (terminais de vídeo e impressoras). • O computador utiliza internamente para armazenar informações que o operador digita no teclado. 6 UNICODE • Pesquisa Soma de Binários • A taboada da soma aritmética em binário é muito simples. São poucas regras: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 (e "vai 1" para o dígito de ordem superior) 1 + 1 + 1 = 1 (e "vai 1" para o dígito de ordem superior) Soma de Binários Subtração de Binários • 0 - 0 = 0 0 - 1 = 1 ("vem um do próximo") 1 - 0 = 1 1 - 1 = 0 • Obs.: Como é impossível tirar 1 de zero, o artifício é "pedir emprestado" 1 da casa de ordem superior. Ou seja, na realidade o que se faz é subtrair 1 de 10 e encontramos 1 como resultado, devendo então subtrair 1 do dígito de ordem superior (aquele 1 que se "pediu emprestado"). Vamos lembrar que esse algoritmo é exatamente o mesmo da subtração em decimal a que já estamos acostumados. Subtração de Binários Subtração de Binários • 11100 – 01010 • Solução • ---02-> "vem um" 11100 01010- ---------- 10010 7 Multiplicação • 0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1 Divisão Complemento a Base • A implementação do algoritmo da subtração em computadores é complexa, requerendo vários testes. assim, em computadores a subtração em binário éfeita por um artifício. O método utilizado é o "Método do Complemento a Base" que consiste em encontrar o complemento do número em relação à base e depois somar os números. Os computadores funcionam sempre na base 2, portanto o complemento à base será complemento a dois. Computadores encontram o complemento a dois de um número através de um algoritmo que pode ser assim descrito: Complemento de 2 - se o número é positivo, mantenha o número (o complemento de um número positivo é o próprio número) - se o número é negativo: - inverta o número negativo ou o subtraendo na subtração (todo 1 vira zero, todo zero vira um) - some 1 ao número em complemento - some as parcelas (na subtração, some o minuendo ao subtraendo) - se a soma em complemento acarretar "vai-um" ao resultado, ignore o transporte final) Complemento de 2 • Como exemplo, vamos usar o algoritmo acima na subtração 1101 - 1100 = 0001 • mantém o minuendo ---> 1101 • inverte o subtraendo ---> 0011 • soma minuendo e subtraendo---> 10000 • soma 1 ---> 10001 • ignora o "vai-um" ---> 0001 Overflow • Ocorre sempre que o resultado de uma operação não pode ser representado no hardware disponível. • Exemplo de overflow: Adição de 2 operandos positivos (8 bits) Isto significa que o resultado é negativo e está em complemento a 2 8 Overflow • Adição de operandos com sinais opostos (8 bits) Não ocorre overflow, o resultado é negativo e está em complemento a 2 Overflow • Adição de operandos com sinais opostos (8 bits) Não ocorre overflow, o carry é ignorado e o resultado é positivo Interface Hardware/Software • Na ocorrência de overflow: a máquina precisa decidir como tratá-lo. • Linguagem C: não toma conhecimento do overflows. A tarefa é do programador. • FORTRAN: trata o overflow
Compartilhar