Introdução a Ciência da Computação Representação de Números Inteiros Módulo e Sinal (MS) Complemento de um (C-1) Complemento de dois (C-2) Excesso Introdução a Ciência da Computação Modulo e Sinal (MS) Faixa = -(2N-1-1)≤ x ≤ 2N-1-1 Desvantagem: Duas representações para o zero Introdução a Ciência da Computação Complemento de Um Numeros Negativos: Obtenha o complemento de um trocando todos os 1 por 0 e todos os 0 por 1 Números Positivos: Idem MS Faixa = -(2N-1-1)≤ x ≤ 2N-1-1 Desvantagem: Duas representações para o zero Introdução a Ciência da Computação Complemento de Dois O complemento de dois de um número é formado tomando-se o complemento de um e somado-se um. Por exemplo se você trabalha com números de 8 bits e usa o sistema de complemento de dois, +4 é representado por 00000100. Para achar -4 você deve achar o complemento de dois deste número. Você faz o complemento de um, o que é 11111011 e soma 1. Assim a representação em complemento de dois de -4 é 11111100 Números Positivos: Idem MS Faixa = -2N-1 ≤ x ≤ 2N-1-1 Introdução a Ciência da Computação Complemento de Dois Como se expressa -1710 como um número de 8 bits em complemento de dois? Comece com a representação binária de +17 ( 00010001). Aí obtenha o complemento de um trocando todos os 1 por 0 e todos os 0 por 1( 11101110). A seguir, ache o complemento de dois acrescentando um(11101111). Introdução a Ciência da Computação Complemento de Dois Introdução a Ciência da Computação Subtração em Complemento de Dois Jogue fora o transporte final Introdução a Ciência da Computação Soma em C-1 Transporte mais a esquerda é somado ao resultado. Ex: 7 + (-3) 0111 (7) 1100 (-3) -----10011 1 -----0100 (4) Introdução a Ciência da Computação Soma em C-2 Transporte mais a esquerda é desprezado Ex: 7 + (-3) 0111 (7) 1101 (-3) -----10100 (4) Introdução a Ciência da Computação Excesso de 2N-1 Formas de se chegar ao Excesso Trocar o sinal do Complemento de 2 0110 -> 0110 -> 0110 -> 1110 X + 2N-1 Ex: para N=4 6 + 23 = 6+8= 14 1110 Faixa = -2N-1 ≤ x ≤ 2N-1-1 Introdução a Ciência da Computação Notação de Virgula Flutuante Permite tratamento de números extremamente grandes ou pequenos, em contrapartida, diminui a precisão dos números representados Divisão entre sinal, expoente e mantissa Base:2 Expoente: Excesso Mantissa:Binário Puro Introdução a Ciência da Computação Notação de Vírgula Flutuante Número de ponto flutuante: padrão IEEE (a) Precisão simples (b) Precisão dupla 1 8 23 (a) sinal 1 Expoente 11 Fração 52 (b) Introdução a Ciência da Computação Notação de Virgula Flutuante -1,5(10) 1 Passo: Transformar em Binário 1, 1(2) 2 Passo: Normalizar 1 0,11 x 2 3 Passo: Calcular Excesso de 2N-1 1+4 = 5(10) = 101(2) 4 Passo: Prencher os campos 1 101 1100 Introdução a Ciência da Computação Notação de Virgula Flutuante 7,125(10) 1 Passo: Transformar em Binário 111, 001(2) 2 Passo: Normalizar 3 0,111001 x 2 3 Passo: Calcular Excesso de 2N-1 3+4 = 7(10) = 111(2) 4 Passo: Prencher os campos 0 111 1110