340 likes | 495 Views
Representação de dados. Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados. Representação de dados. Dados podem ser representados de diversas formas: Texto Numérico Binário Matriz Lógico Outros
E N D
Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados
Representação de dados Dados podem ser representados de diversas formas: Texto Numérico Binário Matriz Lógico Outros Algumas não são usadas nos processadores, mas nos compiladores.
Representação de dados Entrada: 143 (caracteres 1, 4 e 3, nessa ordem) Compilador transforma no número, ou outra forma que o programa for usar 10001111 A arquitetura é o limite para a representação dos dados Saída: Dados Entrada: Texto Compilador
Representação de dados Tipos de dados Dados podem ser representados de diversas formas: VAR ANOS:INTEGER; VAR ANOS REAL;
Representação de dados Soma 1249+ 3158 usando inteiros: 011 1249 +3158 -------- 4407
Representação de dados Soma 1249+ 3158 usando notação científica: Converter: 1249 = 0,1249 * 104 3158 = 0,3158 * 104 Calcular: 011 0,1249 +0,3158 -------- 0,4407 Resultado: 0,4407 * 104
Representação de dados Representações numéricas: 12352788 * 35697008 = 440.957.562.058.304 Em uma tela pequena: 4,41 E 14 => 4,41 * 1014
Representação de dados Tipos de dados: Caractere Como representar texto quando você só tem 0s e 1s? => Usando tabelas de codificação
Representação de dados Exemplos: BCD – Representação de 6 bits EBCDIC – Representação de 8 bits da IBM ASCII – Representação de 7 bits usada em PCs. Posteriormente modificada para 8 bits Unicode – Tabela de 16 bits, em definição por um comitê internacional
Representação de dados Dados são usualmente inseridos como texto, e depois convertidos para outros formatos através da compilação. FOR I=0 TO 12 READ NOTA(I) NEXT I Esse texto é convertido em código de máquina e variáveis pelo compilador.
Representação de dados Tipo de dados: Lógico Pode assumir os valores verdadeiro (usualmente representado pelo bit 1) ou falso (usualmente representado pelo bit 0).
Representação de dados Operadores lógicos: AND (E lógico) A operação lógica E será verdadeira se e somente se todas as variáveis de entrada forem verdadeiras
Representação de dados Exemplo: A = 0110 e B=1110 Qual o valor de X = A * B? 0110 and 1110 ------- 0110
Representação de dados Operadores lógicos: OR (ou lógico) A operação lógica OU será verdadeira se qualquer uma das variáveis de entrada for verdadeira.
Representação de dados Exemplo: A = 0110 e B=1110 Qual o valor de X = A + B? 0110 or1110 ------- 1110
Representação de dados Operadores lógicos: NOT (não lógico) A operação lógica NOT é conhecida como inversora ou complemento. Ela inverte o valor de entrada.
Representação de dados Exemplo: Para os valores A=1, B=101 e C= 111000, calcule X=, X= e X=
Representação de dados Prioridade. Em operações lógica, a operação de inversão é sempre feita primeira, seguida da operação E, seguida da operação OU. Exemplo: X=A+B* Primeiro é feito a inversão de C, depois a operação B*, e finalmente A + (resultado de B*.
Representação de dados Operadores lógicos: ExclusiveOR (Ou exclusivo) A operação lógica XOR será verdadeira se somente uma das variáveis de entrada for verdadeira.
Representação de dados Tipos de dados: Numérico Três coisas são triviais para nós na hora de representar números, mas são problemas para a implementação de um computador: Sinal de um número (positivo/negativo); Representação da vírgula; Quantidade de algarismos dos números;
Representação de dados Representação da vírgula: Ponto fixo Representa o número sempre com exatamente o mesmo número de dígitos antes e depois da vírgula. Posições mais comuns: Vírgula totalmente à esquerda: Número totalmente fracionário (pouco usado hoje); Vírgula totalmente à direita: Número inteiro.
Representação de dados Representação de sinal: Sinal e magnitude Usualmente o bit mais significativo (mais à esquerda) indica o sinal do número. 001101102 -> 54 101101102 -> -54 Com essa notação, com n bits, é possível representar números de -(2n-1-1) até (2n-1-1). Ou seja, com 8 bits é possível representar números de -127 até 127. Esta forma não é usada computacionalmente.
Representação de dados Aritmética com sinal e complemento: Verificar sinal de cada número para identificar operação (soma ou subtração); Identificar o maior número e respectivo sinal; Subtrair o menor do maior; Aplicar o sinal do maior;
Representação de dados Representação de números negativos em complemento Tem a vantagem de ser computacionalmente mais simples e rápido, além de desperdiçar uma posição com um valor -0 Definido como: complemento de N = Bn-N+1 Exemplo, N=7610, utilizando 4 dígitos. C10 de 76= 9999-0076+1=9924
Representação de dados Representação numérica: Overflow Quando um número excede a capacidade do processador, um “flag” ou marcador é ativado para que o software tome providências a respeito.
Representação de dados Representação numérica: Ponto flutuante Muitos cálculos utilizam números muito grandes ou muito pequenos. Cálculos com ponto fixo seriam ineficientes com esses valores. Para estes cálculos é usado o ponto flutuante ou notação científica.
Representação de dados Representação normalizada Um número pode ser representado de diversas formas: 25 25 * 1010 0,25 * 10+2 2500 * 10-2 A normalização visa uniformizar a representação.
Representação de dados Representação normalizada A mantissa ou parte fracionária deve satisfazer a seguinte expressão: 1/B <= M <= 1 (exceto se M=0) Traduzindo: o primeiro digito da mantissa deve ser diferente de zero.
Representação de dados Conversão de números para ponto flutuante leva em consideração os seguintes elementos: Quantidade de bits/bytes dos dados; Modo de representação da parte fracionária; Modo de representação da parte do expoente; Quantidade bits definida para o expoente e mantissa; Posição do sinal da mantissa e do expoente; Valor da base da exponenciação.
Representação de dados S – Sinal do número E – Expoente: 1 bit para sinal, 6 para magnitude M – Mantissa, normalizada Base de exponenciação: 2 Mantissa S Expoente 1 7 24
Representação de dados Exemplos: Conversão de valores decimais para ponto flutuante: 407,375: 00001001110010111011000000000000 Sinal: 0 Expoente: 0001001 Mantissa: 110010111011000000000000
Representação de dados Representação decimal Em alguns casos, como em balanços bancários, é interessante que todos os dígitos sejam representados exatamente, não importando o tamanho. Arredondamentos não são aceitáveis. Nesses casos pode ser usado o sistema de representação decimal, no qual cada digito é convertido individualmente para binário.
Representação de dados Exemplo: 7458: 0111 0100 0101 1000 7 4 5 8