Baixe o app para aproveitar ainda mais
Prévia do material em texto
* Capítulo 2 Sistemas Numéricos Operações Aritméticas binárias; Códigos Digitais * Bases Numéricas Base 10: nossa rotina Exemplo: 4392,7810= Princípio geral: Base b: Inteiro Maior que 0 * Algarismos em base b Base b = b algarismos: Base 1: “contar palitinhos” Base 10: 0 a 9 Base 8: 0 a 7 Base 5: 0 a 4 Base 2: 0 a 1 Base 16: 0 a 15 necessários 15 símbolos: 0 a 9 A = 10 B = 11 C = 12 D = 13 E = 14 F = 15 * Faixa de contagem Base b, n dígitos: b=10, n=1: 0 a (10-1) b=10, n=3: 0 a 103-1 (1000-1=999) b=2, n=3: 0 a 23-1 (8-1=7=1112) b=16, n=2: 0 a 162-1 (256-1=255=FF16) Exercícios: Determine a faixa de contagem para cada base b a seguir, com o número de dígitos n determinado: b = 10, n = 6 b = 2, n = 8 b = 5, n = 3 b = 2, n = 4 b = 4, n = 2 * Conversão entre bases: n 10 Representação na forma genérica Contas na base 10, resultado na base 10 * Exercícios: Qual a menor base em que cada número pode estar representado? 1001 – 301 – 702 – 1093 – ECA Converter da base indicada para a base 10. 123 125 128 1216 10012 10014 7128 2316 ECA16 AB32 101,12 43,28 27,612 A1,416 * Conversão entre bases: 10 n Divisões sucessivas: quanto cabe em cada potência da nova base? Exemplo: 265310 base 16 10 (A) vezes a potência 162 (256x10=2560) 5 vezes a potência 161 (16x5=80) 13 (D) vezes a potência 160 (13x1=13) 2560+80+13=2653 265310=A5D16 2 * Conversão entre bases: 10 n * Exercícios Converter da base 10 para a base indicada: B2: números de 0 a 15, nesta ordem B4: 47 B8: 47 B16: 47 B5: 28 B5: 100 B16:315 B7: 49 * Conversão entre bases: 10 n Subtrações sucessivas * Conversão entre bases: 10 n Subtrações sucessivas * Conversão entre bases: 2 - 2n Agrupamento de bits Base 4: 22 grupos de 2 bits Base 8: 23 grupos de 3 bits Base 16: 24 grupos de 4 bits Exemplos: 3014 = 11 00 012 63128 = 110 011 001 0102 3F716 = 0011 1111 01112 * Exercício Converta os números binários dados a seguir para as bases 4, 8 e 16. 101101 110111011100011 100111000100111 * Aritmética binária Soma Subtração Divisão Multiplicação FÁCIL = só usa 0 e 1!!! * Soma binária Casa menos significativa: soma de 2 dígitos 0+0=0 0+1=1 1+0=1 1+1=102 = 0 e vai 1 Casas seguinte: podem receber o “vai 1”: soma de 3 dígitos “veio 1” = 0: igual ao anterior “veio 1” = 1 1+0+0=1 1+0+1 = 10 = 0 e vai 1 1+1+0 = 10 = 0 e vai 1 1+1+1 = 11 = 1 e vai 1 * Exemplo Somar: 6010 = 1111002 4210 = 1010102 1 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 0 1 * Exercícios Efetue as somas binárias indicadas a seguir: 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 * Multiplicação binária Funciona como a multiplicação decimal Mais fácil, pois: 1 x A = A 0 x B= 0 Somam-se os resultados (soma binária) Exemplo: 0 * Subtração binária Inicialmente, usaremos: Números positivos A – B onde A > B (resultado positivo) Resultados possíveis 0-0=0 1-1=0 1-0=1 0-1= 1 e “dívida de 1” da casa seguinte “pega emprestado” * Exemplo De: 15010 = 100101102 Subtrair: 4210 = 1010102 0 1 1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 1 0 1 1 -1 1 -1 1 -1 1 0 * Exercícios Efetue as subtrações binárias dadas a seguir: 1 0 1 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 * Divisão binária Estrutura igual à divisão decimal Só há dois resultados: 0 ou 1 Só há dois “restos” possíveis: 0 ou 1 Subtração binária para calcular resto 1 1 0 1 0 0 1 1 1 1 1 0 0 ’ 1 ’ 0 0 1 1 1 1 ’ 1 1 1 0 ’ 0 0 1 * Exercícios Execute as divisões a seguir em álgebra binária (converta para a base 2 antes de dividir). 45÷9 45÷5 46÷2 93÷2 200÷32 * Números negativos Bit de sinal Módulo do número = binário Sinal indicado por bit adicional Subtração complexa Exemplos: Bit de sinal + 5 bits significativos Bit de sinal + 7 bits significativos * Números negativos Complemento de dois Converte todo o número Visualização de números negativos não direta Subtração feita como soma Princípio básico: Número finito e fixo de bits Hodômetro: Positivo = andar para frente Negativo = andar para trás * Complemento de 2 Hodômetro Decimal Para frente: positivo Para trás: negativo 4 dígitos: 6 dígitos: * Complemento de 2 Princípios básicos: Número fixo de dígitos 1º dígito é o sinal Total de dígitos: sinal + maior número possível Hodômetro binário: Números em complemento de 2 * Complemento de 2 Achando o número negativo Determinar o número de bits da aplicação Números positivos Complemento = binário Números negativos: Referência = positivo Complemento de 1: Trocar 0 por 1 e 1 por 0 Complemento de 2: Somar 1 ao complemento de 1 Exemplo: ±3 Mínimo 3 bits Usaremos 4 +3: positivo +3 = 0011 -3: negativo Ref: 0011 C1: 1100 +1 C2: 1101 -3 = 1101 * Operações em C2 Subtração vira soma: X – Y = X + (-Y) Achar C2 de Y e fazer soma * Exercício As operações a seguir: Estão representadas na base 10 Fazem parte de uma mesma aplicação Contém os maiores e menores resultados da mesma Faça todas as operações em C2 23 + 19 = 42 102 – 35 = 67 42 – 67 = –25 – 102 – 25 = –127 * Códigos binários Baixo nível: 1=aberto 0=fechado 1=sim 0=não 1=+5Vdc 0=0Vdc Alto nível Significado de conjunto de bits Diferentes critérios para diferentes aplicação Padronização Dentro de uma aplicação Mercado mundial (texto, telecomunicações, etc.) * Código binário Codificação aritmética Número convertido para base 2 ou complemento de 2 Codificação não aritmética Baseada em outros parâmetros Normalmente, tem uma base aritmética Exemplo: código de Gray Regra de formação: de N para N+1, muda apenas 1 bit Exemplo: 9 = 1101 10 = 1111 Base aritmética = números binários Aplica-se regra de tradução: Binário ⇒ Gray Gray ⇒ Binário * Conversão binário ⇒ Gray Comparação Diferença: 3 bits 1 bit * Conversão Gray ⇒ binário * Exercício Represente os números a seguir em Gray 23 24 4712 4713 Retorne os números em Gray para Binário * Código BCD BCD = Binary Coded Decimal Várias versões Ponderadas: 8421, 4221, 5421 Não ponderadas: Gray, Excesso de 3 (XS-3) Base: número decimal Cada dígito é convertido pelo código Exemplo: BCD 8421 * BCD ponderados Nome indica peso de cada casa BCD 8421 * BCD ponderados BCD5421: 3 bits da metade 1 = 3 bits da metade 2 única diferença é o 1º bit. BCD 4221: metade 2 é “imagem no espelho” da 2 4: 1000 x 0111 :5 0: 0000 x 1111 :9 * BCD não ponderado BCD-XS-3: códigos 0000 e 1111 são eliminados longas seqüências de 0 ou 1 não ocorrem BCD 4221: Gray válido apenas de 0 a 9. * Exemplos e exercícios Converta para todos os códigos do exemplo os números decimais: 74 312 3241 * Bit, nibble, byte, palavra BIT: Menor porção da informação binária Associada a uma variável lógica Obedece princípios da não contradição e 3º excluído Nibble: grupo de 4 bits Bite: grupo de 8 bits Palavra: número de bits processado simultaneamente por um circuito: Palavras usadas em processadores e computadores: Primeiros, não comerciais: nibble Z-80, 8088: 1 Byte 80386: 16 bits Pentium: * Códigos alfanuméricos Princípio similar ao BCD: cada símbolo = n bits Bits suficientes para letras e símbolos ASCII American Standard Code for Information Interchange7 bits padronizados mundialmente (128 códigos) 1 bit para segurança 8º bit usado para aumentar o código (+128 códigos com diversos padrões – ABNT ASCII) EBCDIC: código mainframe IBM Extended Binary Coded Decimal Interchange Code Atenção: os códigos ASCII e ECCDIC são expressos em binário. O uso de números hexadecimais é apenas uma maneira simplificada de expressar o código. * ASCII – 7 bits Leitura: Hexidecimal: linha – coluna Linha 4, coluna 1 = 4116 = bits 0100 0001 = “A” * ASCII – 7 bits Leitura: Hexidecimal: linha – coluna Linha 6, coluna 1 = 6116 = “a” = bits 0110 0001 * ASCII – 7 bits Leitura: Hexidecimal: linha – coluna Linha 4, coluna 1 = 4116 = “A” = bits 0100 0001 Linha 6, coluna 1 = 6116 = “a” = bits 0110 0001 Linha 7, coluna F = 7F16 = comando apagar caractere * ASCII - extensões http://czyborra.com/charsets/iso8859.html#ISO-8859-1 * ASCII - extensões * EBCDIC * Unicode Unifica caracteres de todas as línguas Mais de 1 milhão de caracteres Até 4 bytes por caractere (UTF-8) Número de bytes variável (para “economia”) Símbolos básicos = ASCII 7 bits Como saber a “fronteira” entre 2 caracteres? os primeiros bits do código de um caractere dizem quantos bytes o código ocupa primeiro bit é 0 (byte menor que 128): byte único primeiro byte no intervalo 192 .. 223: dois bytes https://www.ime.usp.br/~pf/algoritmos/aulas/unicode.html * Unicode - Exemplos * Exercícios Converter o número decimal 296 para: Binário Octal Hexadecimal Gray BCD8421 XS-3 BCD5421 BCD4221 BCD-Gray ASCII Determine a seqüência de bits que seria necessária para escrever Iesb na memória de um computador que usa código ASCII.
Compartilhar