Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 –...

33
Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados

Transcript of Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 –...

Page 1: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

Representação de dados

Livro

Introdução à Organização de Computadores

Capítulo:

7 – Representação de dados

Page 2: 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.

Page 3: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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

Entrada: Texto Compilador Saída: Dados

Page 4: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

Representação de dados

Tipos de dados

Dados podem ser representados de diversas formas: • VAR ANOS:INTEGER;• VAR ANOS REAL;

Page 5: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

Representação de dados

Soma 1249+ 3158 usando inteiros:

011

1249

+3158

--------

4407

Page 6: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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

Page 7: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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

Page 8: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

Representação de dados

Tipos de dados: Caractere

Como representar texto quando você só tem 0s e 1s?

=> Usando tabelas de codificação

Page 9: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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

Page 10: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Page 11: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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).

Page 12: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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

Tabela verdade da operação lógica E (AND)

A B X=A AND B ou X=A * B

0 0 00 1 01 0 01 1 1

Page 13: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

Representação de dados

Exemplo: A = 0110 e B=1110 Qual o valor de X = A * B?

0110

and 1110

-------

0110

Page 14: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Tabela verdade da operação lógica OU (OR)

A B X=A OR B ou X=A + B

0 0 00 1 11 0 11 1 1

Page 15: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

Representação de dados

Exemplo: A = 0110 e B=1110 Qual o valor de X = A + B?

0110

or 1110

-------

1110

Page 16: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Tabela verdade da operação lógica NÃO (NOT)

A X=NOT A ou X=

0 11 0

Page 17: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

Representação de dados

Exemplo: Para os valores A=1, B=101 e C= 111000, calcule X=, X= e X=

Page 18: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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*.

Page 19: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

Representação de dados

Operadores lógicos: Exclusive OR (Ou exclusivo)

A operação lógica XOR será verdadeira se somente uma das variáveis de entrada for verdadeira.

Tabela verdade da operação lógica OU exclusivo

A B X=A XOR B

0 0 00 1 11 0 11 1 0

Page 20: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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;

Page 21: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Page 22: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Page 23: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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;

Page 24: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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

Page 25: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Page 26: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Page 27: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Page 28: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Page 29: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Page 30: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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

S MantissaExpoente

1 7 24

Page 31: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

Representação de dados

Exemplos:

Conversão de valores decimais para ponto flutuante:

407,375:

00001001110010111011000000000000

Sinal: 0

Expoente: 0001001

Mantissa: 110010111011000000000000

Page 32: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

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.

Page 33: Representação de dados Livro Introdução à Organização de Computadores Capítulo: 7 – Representação de dados.

Representação de dados

Exemplo:

7458:

0111 0100 0101 1000

7 4 5 8