Arquitetura de Computadores
Representação de
dados
1
Arquitetura de Computadores

Representação de dados:
–
Símbolo: marca visual ou gráfica que representa um objeto que
desejamos identificar (ex: A, 1, % , ...)
–
Numeral: símbolo designado para representar um número (ex: 1,
7, 5+2, 90%, …)
–
Número: idéia que os símbolos representam. Um número pode
ser representado por diversos numerais (ex: 5 = 7 – 2 = 4 + 1 = 10
/ 2)
2
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Sistema de Numeração Posicional:
–
Cada algarismo componente do número têm um valor relativo
conforme sua posição no número. Seu valor absoluto é
modificado por um fator (peso), o qual varia conforme a posição
do algarismo, sendo crescente da direita para a esquerda
–
Ex: Sistema de numeração decimal

100,00
3
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores


Algarismos e Números:
–
Em vez de criar infinitos símbolos (algarismos) para representar cada número
desejado, pode-se agrupar valores e simplificar sua representação
–
Ex: No base 10, até o valor 9, os números são escritos com algarismos diferentes,
mas o valor seguinte, 10, é representado por 2 algarismos (1 e 0), pois não temos o
algarismo “10”
 10 = 1 (grupo de 10 unidades) + 0 (unidades)
O que fazemos para representar o valor 10 ?
–
Esgotadas as possibilidades com os algarismos individuais, utilizamos os 2
“menores” dígitos ou algarismos da base para representar o valor 10
–
Recombinação dos algarismos da base
–
Pode-se usar esta recombinação para representar qualquer valor, aumentando-se
apenas a quantidade de dígitos utilizados na representação
–
Ex: 11, 12, 13, …, 19, 20, 21, …, 29, 30, …, 99, 100, 101, …, 999, 1000, …
4
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores
BASE: quantidade de símbolos ou dígitos ou algarismos diferentes
que o referido sistema emprega para representar os números
Toda a estrutura de formação dos números e realização de operações
aritméticas em um sistema posicional está relacionada com o valor da
BASE do referido sistema
Sistema Decimal: 10 símbolos (base 10)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Sistema Binário: 2 símbolos (base 2)
0, 1
Sistema Hexadecimal: 16 símbolos (base 16)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
5
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Ex: Sistema decimal

2622
= 2000 + 600 + 20 + 2

2000
600
20
2
= 2x1000 = 2x103
= 6x100 = 6x102
= 2x10 = 2x101
= 2x1
= 2x100



6
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Neste exemplo o fator (peso) que modifica o valor do algarismo
conforme sua posição, é, em cada parcela, uma potência de 10
(1000, 100, 10 e 1) a partir da potência 0 (algarismo mais à
direita do número, ou menos significativo), sendo crescente
para a esquerda (potência 1, potência 2, …) até o último
algarismo (mais significativo)

É um potência de 10 porque o sistema usado como exemplo é
o sistema DECIMAL. Isso conduz a um conceito fundamental
dos sistemas posicionais: o de BASE
7
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Algarismos e Números:
– Qualquer número pode ser interpretado como tendo um
VALOR dado pela seguinte expressão:
–
–
–
–
–
onde:
k = base do sistema
bi = um algarismo da base
n = quantidade de algarismos inteiros no número
m = quantidade de algarismos fracionários número
8
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Ex:
541.2510 = 5  102 + 4  101 + 1  100 + 2  10-1 + 5  10-2
= (500)10 + (40)10 + (1)10 + (2/10)10 + (5/100)10
= (541.25)10

Onde temos:
– k = base do sistema = 10
– bi(s) = algarismos = 5, 4, 1, 2, 5
– n = qtd algarismos inteiros = 3
– m = qtd algarismos fracionários = 2
(5, 4, 1)
(2, 5)
9
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Representação numérica para computador:
–
Toda informação humana pode ser bem representada com zeros e
uns.
–
Existem vários tipos de representações que de uma mesma
informação. Ex: 10d = 1010b = 0Ah = 12o = .....
–
Os seres humanos tem facilidades para entender o formato
decimal
–
As máquinas tem facilidades para entender o formato Numérico
Binário
10
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Limites computacionais
–
A arquitetura de um computador define o número de bits que o um
processador pode usar para calcular valores. Este número de bits
pode limitar a quantidade de dados que poderão ser processados,
se as informações forem muito grandes.
–
Uma outra situação comum é que os operando podem não
exceder os limites, mas os resultados podem, gerando um
overflow.
–
Ex: em 8 bits é facil somar 100 + 100 = 200d, mas 100x100 =
10000 (Overflow)
11
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Números de Ponto Fixo
–
Os números de ponto fixo, são representados sempre com
número de dígitos fixo, com uma virgula em posição fixa em
relação ao número. Ex: 0,23
5,34 9,11
–
Podemos representar também como números binários: Ex: 11,00
01,11
11,11
–
A virgula não existe nos computadores, apenas na cabeça dos
programadores.
12
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Intervalo de Representação e Precisão numérica
de ponto fixo
–
–
–
–
–
Uma representação de ponto fixo pode ser caracterizada pelo
intervalo de representação de números que podem ser
expressos. (a distância entre maior e o menor número)
A precisão é dada pela distância entre dois números adjacentes.
Exemplo de Intervalo: 0,00 pode ir até 9,99, logo é denotado
como [0,00 , 9,99]
Exemplo de Precisão: 9,98 e 9,99, a diferença é 0,01, logo a
precisão é de 0,01
Exemplo de Erro: o erro é a precisão/2, logo é 0,005.
13
Professor: Arlindo Tadayuki Noji
Figura retirada do livro Introdução a Arquitetura de Computadores, Miles J. Murdocca
Instituto de Ensino Superior
Arquitetura de Computadores

Outras formas de representações
–
–


[0,00 , 9,99] , [00,0 , 99,9] , [000, 999] ou
[-49, 50] , [ -99,0]
Representações e precisão são pontos importantes
em arquitetura de computadores porque ambos são
finitos ma implementação da arquitetura.
Problema: No mundo real, os números são infinitos.
14
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Lei associativa da álgebra nem sempre
funciona em computadores
–
A + (B + C) = (A + B) + C
–
Se o intervalo numérica for de [-9 , 9 ] e sendo a
= 7, b = 4 e c = -3, então:


A + (B + C) = 7 + (4 – 3) = 8
(A + B) + C = (7 + 4) – 3) = - 2 ( Overflow)
15
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Conversão de bases
16
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores
• Convertendo números de pontos fixos:

Exemplo: Convertendo 23,37510 para base binária
–
A conversão é feita em 2 etapas:

Parte INTEIRA + parte FRACIONÁRIA (se houver)

PARTE INTEIRA: Continuação
– Em cada divisão, o resto encontrado é um algarismo significativo do número
na nova base
– O primeiro resto encontrado é o valor do algarismo menos significativo (mais
à direita) e o último será o algarismo mais significativo (mais à esquerda)
– Toda a aritmética envolvida no cálculo é da base de origem (neste caso,
base 10)
– Utilizar uma tabela de equivalência dos algarismos das bases K e 10, para
saber como representar os algarismos encontrados (resto), se necessário,
na base K
17
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Parte Inteira
18
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Parte Fracionária
19
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Portanto, para representar um número na base 10 em uma
base qualquer K, converte-se primeiro a parte inteira, depois a
parte fracionária, e utiliza-se ambas na notação “Inteiro ,
Fração”
–
Logo:
–
–
–
–
23,375 = ( )2
23 = 10111
0,375 = 0,011
23,375 = 10111,011
20
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Base 10 para Base K:
PARTE FRACIONÁRIA: Método de Multiplicações Sucessivas
• Ex 2: Nem sempre pode-se converter uma fração finita em uma fração
finita em outra base
21
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Base K para Base 10:
–
Ex 1:
100011,012 =
20 +
100011,012 = ( ) 10
1  25 + 0  24 + 0  23 + 0  22 + 1  21 + 1 
0  2-1 + 1  2-2 = 32 + 2 + 1 + 0,25
= 35,2510
–
Ex 2:
6738 =
6738 = ( ) 10
6  82 + 7  81 + 3  80 = 384 + 56 + 3 = 44310
22
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Soma Binária
23
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Representação numérica sinalizado
–
–
–
Para um número binário de 8 bits, temos 256
possibilidades.
Se temos que representar os números negativos também,
devemos separar uma parte destas possibilidades para
representar estes números.
Temos 4 principais formas de sinalizar um número negativo:




Sinal de Magnetude
Complemento de um
Complemento de dois
Excesso de 4.
24
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Magnetude de sinal
–
–
Basta colocar o bit mais significativo com o sinal 1, para
representar um número negativo
Exemplo:
+2510 = 000110012
-2510 = 100110012
–
Duas representações de Zeros. Ex: 00000000 e 10000000
–
Intervalos de números de +127 e – 127 em decimal
25
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Complemento de um
Os bits são trocados, os Zeros se tornam Um e os Uns se
tornam Zeros.
– Exemplo:
+2510 = 000110012
–
-2510 = 111001102
–
Possui duas representação de zeros: +0 = 000000002, -0 =
111111112.
–
Faixa de valores: +12710, e o menor número -12710, usando
8 bits de representação
26
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Complemento de dois
–
–
Neste modo de representação, é executado o complemento de
um, mais a somatória de 1.
Exemplo:
+2510 = 000110012
-2510 = 111001112
Apenas uma representação numérica do Zero: +0 =
000000002, -0 = 000000002.
Faixa de valores: +12710, e o menor número é -12810, para 8
bits.
27
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Representação de Excesso
O número é tratado sem sinal, então o valor é deslocado (shifted)
do mesmo.
– Exemplo: (para criar um numero de excesso, basta somar 128 ao
número em um padrão de 8 bits)
+1210 = 100011002
–
-1210 = 011101002
–
Ünica representação do Zero
–
Maior número é +12710, enquanto que o menor número é -12810,
usando 8-bit de representação
28
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Representação de Decimal em Binário
–
–
–
Números podem ser representados em base 10, mesmo
usando codificação binária.
Cada dígito na base 10 ocupa quatro bits, o que é
conhecido como decimal codificado em binário (BCD).
Então, cada dígito utiliza os primeiros 10 padrões de
binários de 4 dígitos.
Ex: 123 -> 0001 0010 0011
29
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Complemento de 9 e 10
30
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores
31
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Número de Pontos Flutuantes
–
–
Permite que grandes números e pequenos números possam ser
representados usando somente poucos dígitos, de acordo com a
precisão especificada.
A precisão é determinada pela quantidade de dígitos da fração
(inclui a parte inteira e fracionária) e o dimensão do número é
determinado pelo número de dígitos do campo expoente.
• Examplo (+6.023  1023):
32
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Normalização
–
–
Um número na base 10, digamos 254 pode ser representada em ponto flutuante na
forma de 254 x 100 , ou equivalentemente:

25.4 x 101, ou

2.54 x 102, ou

.254 x 103, ou

.0254 x 104, ou

Ou de outras formas infinitas, que podem gerar problemas na hora de comparar dois
números.
Devido a este problema, os números de ponto flutuante são
normalizados.Normalmente, mas nem sempre os números são deslocados para a
esquerda logo após a virgula. Ex: .254  103.
33
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Exemplo de ponto flutuante
–
–
Vamos representar o número .254 x 10 3 numa base normalizada de base
8, com bit de sinal e 3 bits de excesso de 4 para o expoente.
Passo 1, converter a base

.254  103 = 25410. Usando o método já conhecido, temos 25410 = 376  80:
254/8 = 31 R 6
31/8 = 3 R 7
3/8 = 0 R 3
–
–
Passo 2, normalizar: 376  80 = .376  83.
Passo 3: Preencher os campos de bits, com o sinal, expoente de 3+4 = 7
(excesso ed 4) e 4 dígitos para fração = .3760:
0 111 . 011 111 110 000
34
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

No exemplo anterior temos
–
–
–
–
–

base = 8;
S = 4;
M=3;
M = -4
Representação do Zero = 0 000 000 000 000 000;
Com estes parametros é possivel calcular os seguintes valores:
–
–
–
–
–
Maior número representável
Menor número representável
O maior GAP entre dois números
O menor GAP entre dois números
O total de bits que são necessários para representar o número
35
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Erros, faixas e precisões:
–
Maior número representável: bM  (1 - b-s) = 83  (1 - 8-4)
–
Menor número representável: bm  b-1 = 8-4 - 1 = 8-5
–
Maior Gap: bM  b-s = 83 - 4 = 8-1
–
Menor Gap: bm  b-s = 8-4 - 4= 8-8
36
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Erros, faixas e precisões:
–
Cálculo de número de números de representação

Há 5 componentes:
–
–
–
–
–

(A) O sinal de bits: 2x
(B) expoente: (M-m) + 1
(C) Valor do primeiro dígito: b – 1 (Não pode ser Zero para primeiro dígito normalizado)
(D) Valor de cada um dos s-1 digitos restantes: Bs-1
(E) representação especial para Zero: + 1
Para este exemplo, temos: 2  ((3 - 4) + 1)  (8 - 1)  84-1 + 1 = número que
podem ser representados (quantidade de padrões).
37
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Exemplo de Ponto Flutuante:
–
–
–
–
–
Menor número: 1/8
Maior número: 7/4
Menor gap: 1/32
Maior gap: ¼
Quantidades de números representáveis: 33
38
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores


O erro relativo é aproximadamente o mesmo para todos os números
número
Se pegarmos a razão entre o maior gap com o maior número e
comparar com a razão do menor gap com o menor número, teremos
o mesmo valor.
39
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Conversão de números
–
–
–
:
–
–
Converter (9.375  10-2)10 na base 2 da notação científica
Tirar a notação científica: .09275
Converter em notação binária
.09375
.1875


2
2
=
=
0.1875
0.375
.375

2
=
0.75
.75

2
=
1.5
.5

2
=
1.0
Portanto: (.09375)10 = (.00011)2.
Finalmente converter para a base 2 normalizada:
.00011 = .00011  20 = 1.1  2-4
40
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Padrão IEEE-754 de ponto flutuante
41
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Exemplo do padrão IEEE 754
42
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Exemplo de uso do padrão IEEE 754
–
Representar -12.625 na precisão simples do formato IEEE-754:
 Passo1: Converter para a base 2: -12.62510 = -1100.1012
 Passo2: Normalizar: -1100.1012 = -1.1001012  23
 Passo3: Preencher os campos de bits:
–
Sinal negativo, usar 1
– Expoente em excesso de 127 (não usar 128). O expoente é
representado por um inteiro náo sinalizado: 3 + 127 = 130.
– O bit 1 mais significativo é escondido.
1 1000 0010 . 1001 0100 0000 0000 0000 000
43
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

De acordo com exercito
norte americano, as
falhar dos mísseis
patriot, foram as perdas
de precisão da
conversão de 24 bits de
inteiros para 24 bits de
ponto flutuante.
44
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores

Tabela ASCII
–
–
A possui o valor de 41h.
Para converter em
maiuscula, basta somar
20h
O caracter 5 tem o valor
de 35h, para converter
para numero, basta
subtrair de 30h.
45
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Arquitetura de Computadores
46
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior

Unicode
47
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior
Download

Representação de dados