Buscar

OrganizI-Cap3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Organização de Computadores I 
 
Capítulo 3 - Representação de dados na memória 
 
 
3. Representação de Dados na Memória RAM .......................................................................................... 2 
3.1- Caracteres ........................................................................................................................................ 2 
3.2- Números Inteiros de Simples Precisão ............................................................................................ 2 
3.3- Números Inteiros de Dupla Precisão ou Inteiro Longo ................................................................... 3 
3.4- Números Reais de Simples Precisão ................................................................................................ 3 
3.5- Números Reais de Dupla Precisão ................................................................................................... 5 
3.6- Memória de Vídeo............................................................................................................................ 6 
Cap. 3 – Representação de dados na Memória 2 
 
3. Representação de Dados na Memória RAM 
 
 Os dados que podem ser representados na memória RAM do computador, podem ser 
classificados em: caracteres, números inteiros e números reais. Cada tipo de dado é armazenado 
de uma maneira especial e consome uma quantidade específica de memória. 
3.1- Caracteres 
 
Consomem 1B de memória. - Todos os caracteres representáveis na memória foram 
codificados em uma tabela denominada Tabela ASCII (American Standard Code Interchange 
Information). Originalmente a Tabela ASCII possuía apenas 128 códigos que representavam o 
alfabeto, os caracteres de pontuação e alguns caracteres de controle do idioma inglês. Atualmente, 
além dos 128 códigos originais, possui mais 128 códigos adicionais para um conjunto de 
caracteres denominado caracteres estendidos. Assim, cada tecla do teclado tem um código ASCII 
associado a ela, de modo que, quando uma tecla é digitada, uma posição de memória ou 1 B da 
memória será preenchido com o seu código correspondente. A Tabela 3.1 mostra os códigos 
binário, decimal e hexadecimal de alguns caracteres da Tabela ASCII. 
 
 
 
A Tabela ASCII 
padrão para o idioma inglês 
é a tabela 437 (na BIOS). 
Porém, outras tabelas podem 
ser configuradas para melhor 
se adaptarem ao país onde o 
micro está sendo utilizado. 
Desse modo, os códigos dos 
caracteres podem variar. Os códigos ASCII associados às teclas do teclado, também podem variar 
conforme o tipo de teclado que estiver sendo usado. A Tabela 3.2, resume alguns exemplos de 
Páginas de Códigos e Código de Teclado, conforme o país. 
 
 
A configuração do 
País, do Teclado e da 
Página de Código a serem 
usados no ambiente do 
Prompt, é feita adicionando 
linhas de comando nos 
arquivos de configuração 
do, CONFIG.nt e 
AUTOECEX.nt. 
 
3.2- Números Inteiros de Simples Precisão 
 Ocupam 2B de memória. O primeiro bit do primeiro Byte, é usado para armazenar o sinal 
do número, que será 0, se o número é positivo (+) e 1, se o número é negativo (-) . 
 
 [s][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ][ ][ ] 
 s= 0, se o número é positivo; 
 s= 1, se o número é negativo. 
 Os bits restantes são preenchidos com o valor do número convertido para a base 2( 
formato binário). 
Caracter Código 
Binário 
Código decimal Código Hexa 
$ 00100100 36 24 
A 01000001 65 41 
5 00110101 53 35 
« 10101110 174 AE 
± 11110001 241 F1 
Tabela 3.1- Caracteres da Tabela ASCII. 
 
País, Região 
ou Idioma 
Código 
do País 
Código do 
Teclado 
Página 
de 
Código 
Página 
Alternativa 
EUA 001 us 437 850 
América 
Latina 
003 la 850 437 
Brasil 055 br 850 437 
Portugal 351 po 850 860 
Reino Unido 044 uk 437 850 
Tabela 3.2- Páginas de Códigos e Códigos de Teclado 
 
Cap. 3 – Representação de dados na Memória 3 
 
Limitação: Como o valor do número inteiro é armazenado utilizando os 15 bits restantes, 
teremos que: 
 
o maior inteiro positivo, será: 01111111 11111111 ou +32.767 = 2
15
 -1 
o menor inteiro negativo,será: 11111111 11111111 ou - 32.768 = -2
15
 
 
 De todos os 2
15
 códigos diferentes, se subtrai 1, porque na notação binária com sinal, o 
número 0 (zero) possui duas representações equivalentes, ou seja, 00000000 00000000 
representará +0; e 10000000 00000000 representará -0. No caso do limite negativo, o valor é 
obtido convertendo a forma Sinal & Magnitude indicada acima, para outra forma, denominada 
Complemento de Dois, resultando 10000000 00000000. Para maiores detalhes sobre esta forma 
de representação, veja a Leitura Complementar indicada no final desta seção. 
 
 Exemplo 6: Representar na memória o inteiro -17 
 Primeiro, convertemos sua magnitude 17 na base dois: 
 
 17 = 1 x 2
4
 + 0 x 2
3
 + 0 x 2
2
 + 0 x 2
1
 + 1 x 2
0
 . Logo, 
 17 = 100012. 
 Este resultado pode ser obtido aplicando-se a regra prática, que consiste em dividir 17 sucessivamente por 2 até 
se obter quociente final 1. Tomando-se o último quociente e os restos das divisões anteriores, teremos os dígitos da 
conversão. 
 
 17I 2 
 1 8I 2 
 0 4I 2 
 0 2I 2 
 0 1 
 
 Finalmente o inteiro -17 será representado na memória, na forma: 
 
 [1][0][0][0][0][0][0][0] [0][0][0][1][0][0][0][1] 
 
 
3.3- Números Inteiros de Dupla Precisão ou Inteiro Longo 
 
 Ocupam 4B de memória. Da mesma forma, o primeiro bit é usado para o sinal, e os 31 
bits restantes para armazenar o valor do número na base dois. 
 
 [s][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ][ ][ ] 
 
 Limitação: Neste caso, o valor do número inteiro será armazenado usando 31 bits. 
Portanto: 
 
 o maior inteiro longo será 2
31
 -1 = + 2.147.483.647 
 o menor inteiro longo será -2
31 
 = - 2.147.483.648 
3.4- Números Reais de Simples Precisão 
 Ocupam 4B de memória. A representação de números reais na memória, também é 
denominada Representação em Ponto Flutuante. O número é inicialmente convertido para a base 
dois e escrito na forma de potência, F x 2
E
 , onde o fator F é a fração ou mantissa, e E é o 
expoente ou característica. A mantissa é sempre escrita na forma normalizada, ou seja, ela deverá 
ser sempre um valor menor que 1, com o 1
o
. dígito após o ponto decimal diferente de zero, ou seja, 
0,1xxxxxxx. O expoente E pode ser Polarizado, ou seja, o valor 127 é adicionado ao expoente 
verdadeiro para ser armazenado, em simples precisão. 
O expoente ou característica é um valor inteiro armazenado no 1
o
. Byte; e a fração ou 
mantissa é armazenada nos 3 Bytes restantes. 
Cap. 3 – Representação de dados na Memória 4 
 
[sc][ ][ ][ ][ ][ ][ ][ ] [sn][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ][ ][ ] 
 Característica Mantissa 
 8 bits 24 bits 
 
O primeiro bit do 1
o
. Byte contém o sinal da Característica (sc); e o 1
o
. bit do 2
o
. Byte 
contém o sinal da Mantissa ou do número (sn). Esta forma tem apenas uma conveniência 
didática. 
 
A forma correta de representação de reais memória, conforme o padrão IEEE754, é: 
 
Precisão Simples - Padrão IEEE 754: 32 bits: Sinal(1), Exp.(8), Mant. (23) 
[sn] [ ][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ][ ][ ] [ ][ ][ ][ ][ ][ ][ ] 
 
Nesta forma, o 1o
. bit armazena o sinal do número ou da Mantissa, o 2
o
. bit armazena a 
característica ou expoente Polarizado e os 23 bits restantes são destinados à Mantissa. 
 
Limitações: Como a Característica é um inteiro que ocupa os 7 bits restantes do 1
o
. Byte, 
seu valor verdadeiro está entre -(2
7 
) e (2
7
 -1), ou seja, entre -128 e 127. 
Pela explicação anterior, este número é o expoente E da representação F x 2
E
. Portanto, 
 
Menor expoente: -(2
7
 ) = -128. Logo, o menor real será 2
-128
 
 
= 0,29 x 10
-38
 ; 
Maior expoente: 2
7
-1 = 127. Logo, o maior real será 2
127 
 = 1,7 x 10
38 
. 
 - <-----------------|------------------| | |=============|----------- + 
 0 0,29x10
-38
 1,7x10
38 
 
 
O número máximo de decimais que pode ser obtido com esta representação, também 
denominado precisão, é 6 decimais. 
 
 Exemplo 7: Representar na memória o real +20,6875 
 Se o número pudesse ser representado ma memória na base 10, bastaria reescrevê-lo na 
forma de potência, com a mantissa normalizada, como: 
 
 + 20,6875 = + 0,206875 x 10
2
 = + 0,206875 E +2 
 
 A Característica ou Expoente seria +2, e a Mantissa ou fração seria +0,206875. Porém, 
o número deve ser representado na memória na base 2 e assim, deveremos efetuar inicialmente 
sua conversão para a base 2: 
Conversão da Parte Inteira: 
Dividimos a parte inteira sucessivamente por 2 até obtermos o quociente igual a 1. Assim, o último 
quociente e os restos das divisões anteriores, constituem a representação binária da parte inteira. 
 
 20 | 2 
 0 10| 2 
 0 5| 2 
 1 2| 2 
 0 1 Logo, 20 = 101002 
 
 
 
Conversão da Parte Fracionária: 
Multiplicamos a parte fracionária por 2 e anotamos a parte inteira do resultado, como o 1
o
. dígito da 
conversão. Tomamos a parte fracionária do resultado e repetimos o processo, obtendo o 2
o
. dígito 
da conversão. Prosseguimos até que o resultado seja 1,0. Então a conversão foi exata e está 
terminada. 
Cap. 3 – Representação de dados na Memória 5 
 
0,6875 x 2 = 1,375 
 0,375 x 2 = 0,75 
 0,75 x 2 = 1,5 
 0,5 x 2 = 1,0 Logo, 0,6875 = 0,10112 
 
 Assim, +20,6875 = +10100,10112 . Reescrevendo este número na forma de potência, com 
a mantissa normalizada teremos: 
 +20,6875 = +0,101001011 E+101 
 
 Com isto temos que a Característica vale +101 ou 10000100 Polarizado (5 + 127) e a 
Mantissa vale 0.101001011, e assim podemos representar o número na memória na forma correta: 
 
[0] [1][0][0][0][0][1][0][0] [1][0][1][0][0][1][0] [1] [1][0][0][0][0][0][0][0] [0][0][0][0][0][0][0] 
 0 10000100 10100101100000000000000 
 
Em hexadecimal, converte-se o sinal e o expoente (polarizado) como um campo e a mantissa 
como outro. Assim, ficaria: 
 
 084 52C000 
 
Nota: Na conversão da parte fracionária na base 2, pode ocorrer que: 
 a) a partir de determinada multiplicação, notamos que os resultados estão se repetindo. 
Neste caso, a conversão não é exata e atingimos uma dízima periódica, cujo período é o conjunto 
de dígitos que se repete. Assim, preenchemos todos os bits da Mantissa repetindo o período da 
dízima tantas vezes quantas necessário. 
 b) os resultados não se repetem. Neste caso também a conversão não é exata e devemos 
prosseguir até que tenhamos dígitos suficientes para preencher todos os bits da Mantissa. 
 
Obs.: Na realidade, o zero(0) antes do ponto decimal e o primeiro 1, após o ponto não são 
armazenados. Com isto, a mantissa sempre terá 1 bit a mais. O expoente geralmente é 
armazenado no formato: excesso de 127 ( valor real do expoente + 127), ou expoente Polarizado. 
 
Representações especiais: Sinal Exp. Pol. Mantissa 
 Zero S 00000000 0 
 + -infinito S 11111111 0 
 Não Norm S 00000000 dif de 0 
 NaN S 11111111 dif de 0 
3.5- Números Reais de Dupla Precisão 
 
Ocupam 8B de memória. No Padrão IEEE 754, utilizam-se 8 Bytes (64 bits) de memória, sendo 1 
bit de sinal, a Característica com 11 bits e a Mantissa 52 bits. Fica como exercício para o leitor, 
determinar neste caso, os limites máximo e mínimo para os reais. 
O maior real será: ............................................... 
O menor real será: .............................................. 
 
As linguagens de programação ainda oferecem outras 
formas de representação de reais em ponto flutuante na 
memória, de modo a expandir o limite máximo dos números 
reais com que se pode operar. As linguagens Pascal e 
Fortran, permitem trabalhar com números reais no formato extended. Neste formato, os números 
reais são representados utilizando-se 10 Bytes ou 80 bits, sendo 15 bits para o expoente e 65b 
Precisão Estendida: 
Padrão IEEE 754 (80 bits): Sinal(1); 
Exp.(15), Mant.(64) 
 
Cap. 3 – Representação de dados na Memória 6 
para a mantissa, de forma que o maior real que pode ser representado é equivalente a 1.1 x 10
4932
. 
Na linguagem Pascal, os reais de dupla precisão, são representados utilizando-se 8 Bytes ou 64 
bits, sendo 11 bits para o expoente e 53 bits para a mantissa, o que possibilita precisão de 15 
dígitos significativos. 
 
Desafio: como obter o resultado 1.1 x 10
4932
 ? 
 
 Leitura Complementar: Capítulo 7. Representação de Dados, Referência 1. 
3.6- Memória de Vídeo 
 Em geral, as Controladoras dos Monitores de vídeo trabalham com 16, 256, 65.536 , 
16.777.216 de cores ou mais. Isto exige uma considerável quantidade de memória, pois para 
armazenar a cor de cada pixel da tela será necessário uma quantidade de memória tanto maior 
quanto maior for a Resolução Gráfica do Monitor e o número de cores. As Controladoras de Vídeo 
externas, possuem memória exclusiva de vídeo. 
Quando se usa parte da memória RAM para o vídeo, denominada UMA (Unified Memory 
Architeccture) torna o custo mais barato. 
 
A Tabela 3.3 resume a quantidade de memória necessária por pixel, para os vários tipos de 
cores: 
 
 
Modo de Cor Nr. de cores Potência Bits / pixel Bytes / pixel 
cores de 4 bits 16 16 = 2
4
 4 b/pixel 0.5 B/pixel 
cores de 8 bits 256 256=2
8
 8 b/pixel 1 B/pixel 
cores de 16 bits 65.536 65536=2
16
 16 b/pixel 2 B/pixel 
cores de 24 bits 16.777.216 16777216=2
24
 24 b/pixel 3 B/pixel 
cores de 32 bits 4.294.967.296 2
32
 32 b/pixel 4 B/pixel 
Tabela 3.3- Consumo de memória por pixel para os vários modos de cores. 
 
Com os dados da Tabela 3.3, podemos calcular a memória de 
vídeo necessária para um Monitor operar no modo gráfico, com uma 
resolução gráfica dada, através da fórmula: 
 
 
Exemplo 8: Calcular a memória necessária para um monitor SXGA de cores de 32 b operar no 
modo gráfico, com resolução máxima padrão. 
Para o monitor SXGA padrão, a resolução é R = 1400x1050 pixels. 
Cores de 32 b, consomem 4 B/pixel. Logo, 
 M = 1400 x 1050 x 4 B = 5880000 B = 5,61 MB 
 
 
 
Exemplo 9 - Aplicação em fotografias digitais: Imagine que uma pessoa deseja publicar uma 
foto em tamanho A4(210x297 mm). A revista exige resolução de 300 DPI(dots por polegada). 
Calcule com que resolução, em megapixels, a imagem deve ser feita. 
210 x 297 mm = 21 x 29,7 cm = 21/2,54 x 29,7/2,54 pol = 8,27 x 11,7 pol. 
Com a revista exige 300 dpi, teremos: (8,27x300) x (11,7x300) dots ou pixels= 2481 x 3510 pixels 
= 8.708.310 pixels ~= 8,7 megapixles 
 
M = R x (Bytes/pixel) 
 
Cap. 3 – Representação de dados na Memória 7 
Cap 3 – Representação de dados na Memória 
Exercício de Fixação Nr. 03 
 
1
a
. Parte: Responda as questões a seguir, de maneira sucinta e objetiva. 
 
1. Quantos Bytes de memória são necessários para representar um caracter ? 
2. Quantos caracteres possui a Tabela ASCII atualmente ? 
3. Internamente na memória, os caracteres são armazenados na forma decimal, binária ou 
hexadecimal ? 
4. Porque existem diferentes tabelas de caracteres disponíveis ? 
5. Os números inteiros de simples precisão utilizam quantos bytes de memória para sua 
representação ? 
6. Qual o maior número inteiro de dupla precisão que pode ser representado ? 
7. Qual o maior número real de simples precisão que pode ser representado ? 
8. Qual a vantagem que oferece a representação de números reais em dupla precisão ? 
9. Qual o maior número real que pode ser representado no formato extended ? 
10. Quais as linguagens citadas no texto que possibilitam a representação de números reais 
no formato extended ? 
 
2
a
. Parte: Resolva os exercícios a seguir, indicando todos os cálculos necessários. 
 
1. Represente na memória RAM os inteiros: -37 e 42 
 
2. Represente na memória RAM os reais a seguir. Use o padrão IEEE 754 e dê o equivalente 
em Hexa. 
a) -18.75 b) 11.62 c) -3.85 d) 0.03125 e) -15.15625 
 
3. Em determinado computador, os números inteiros são representados na memória usando 
12 b. Desse modo, qual é o maior inteiro que pode ser representado ? 
 
4. Certo computador armazena os números reais na memória, de tal forma que a 
Característica ocupa 10 bits. Calcule o maior e o menor real que podem ser representados 
na memória deste computador. 
 
5. Com números reais de Simples Precisão, é possível representar na memória o resultado 
do fatorial de 35 ? Porque ? 
 
6. Calcule o número de bits que deve possuir a Característica para que seja possível 
representar na memória de um computador o resultado de 57 ! (fatorial de 57). 
 
7. Calcule a memória necessária para um monitor SVGA padrão operar no modo gráfico com 
cores de 16 b. 
 
8. Calcule a memória necessária para um monitor XGA padrão operar no modo gráfico de 16 
milhões de cores. 
 
9. Calcule a memória necessária para um monitor XGA, com resolução de 1280 x 1024, 
operar no modo gráfico com cores de 24 b. 
 
10. Calcule a memória necessária para um monitor XGA, com resolução gráfica de 1024 x 
768, operar no modo gráfico com cores de 16 b. 
 
11. Considere uma imagem digital feita com resolução de 1792x2048 pixels. Para ser impressa 
com 300 DPI, qual o tamanho máximo em polegadas? Quantos megapixels tem a 
imagem?

Outros materiais