Upload
doankhanh
View
221
Download
0
Embed Size (px)
Citation preview
2
Disciplina:Introdução à Engenharia da
Computação
Aula 07 (semestre 2011.2)
Prof. Rosalvo Ferreira de Oliveira Neto, M.Sc.
Colegiado de Engenharia de Computação
33
Representação da Informação em
Sistemas Computacionais
(continuação)
4
Operações com binários
• Soma
• Subtração
• Multiplicação
• Divisão
A Informação e sua representação
5
Soma
• 0+0=0
• 0+1=1
• 1+0=1
• 1+1= fica 0 e transporte de 1 (para somar ao digito
imediatamente à esquerda)
• 1+1+1= fica 1 e transporte de 1(para somar ao digito
imediatamente à esquerda)
A Informação e sua representação
6
Soma
A Informação e sua representação
7
Exemplo: 1100 + 1111
A Informação e sua representação
8
Subtração
• 1-1=0
• 1-0=1
• 0-0=0
• 0-1=1 e vai 1* para ser subtraído no digito seguinte
A Informação e sua representação
9
Subtração
A Informação e sua representação
10
Multiplicação
A multiplicação entre binários é similar à realizada com
números decimais. A única diferença está no momento
de somar os termos resultantes da operação.
A Informação e sua representação
11
Multiplicação
A Informação e sua representação
12
Exemplo: 1 1 1 x 1 1 1
A Informação e sua representação
13
Divisão
Essa operação também é similar àquela realizada
entre números decimais:
110 /10 = 11
A Informação e sua representação
14
Conversão de Números Fracionários
Lei de Formação ampliada (polinômio):
Exemplo: (101,110)2 = ( ? )10
1 22 + 0 21 + 1 20 +1 2-1 + 1 2-2 + 0 2-3 = (5,75)10
A Informação e sua representação
Conversão entre Sistemas de Numeração
15
Operação inversa: multiplicar a parte fracionária pela baseaté que a parte fracionária do resultado seja zero.
Decimal outro sistema
Exemplo: (8,375)10 = ( ? )2
A Informação e sua representação
Conversão entre Sistemas de Numeração
16
Em um computador são armazenados e processados apenasdados e instruções.
Um computador executa operações sobre dados numéricos (osnúmeros) ou alfabéticos (letras e símbolos).
É preciso definir uma forma de representar os dados,codificados em uns e zeros, que possam ser interpretados pelocomputador, de forma correta e eficiente (com bomdesempenho e pouco consumo de memória).
16
A Informação e sua representação
17
Os dados podem ser:
Alfabéticos
Letras, números e símbolos (codificados em ASCII e EBCDIC)
Numéricos
Números inteiros
Ponto flutuante (números reais ou fracionários)
Lógicos
Variáveis que possuem apenas dois valores para representação(FALSO e VERDADEIRO).
17
A Informação e sua representação
18
Todos os dados numéricos são representados em umcomputador como uma seqüência de 0s e 1s.
Os números podem ser positivos ou negativos. As operaçõesaritméticas, em particular a subtração, podem originarresultados negativos.
Um aspecto primordial a ser definido seria então comorepresentar o sinal.
Como é que um computador sabe que um dado número énegativo?
18
Representação de números inteiros
19
A resposta a esta pergunta é que isso depende da convençãousada na representação de números.
As convenções mais usuais são as seguintes :
Representação de grandeza com sinal (sinal e magnitude)
Representação em complemento de 2
19
Representação de números inteiros
20
O bit mais significativo representa o sinal:
0 (indica um número positivo)
1 (indica um número negativo)
Os demais bits representam a grandeza (magnitude).
O valor dos bits usados para representar a magnitudeindepende do sinal (sendo o número positivo ou negativo, arepresentação binária da magnitude será a mesma).
Exemplos: (8 bits)
001010012 = +4110
101010012 = - 4110
magnitudesinal
20
Representação de números inteiros
21
11111111 -127
01111111 +127
10001001 -9
00001001 +9
Valor binário com 8 bits
(7 + bit de sinal)
Valor decimal
Exemplos: (8 bits)
Assim, uma representação em binário com n bits teria disponível para a
representação do número n-1 bits (o bit mais significativo representa o
sinal).
21
Representação de grandeza com sinal
22
Exemplo : (8 bits)
001010012 = +4110
11010111c2 = -4110
Exemplo : (8 bits)
000011002 = +1210
11110100c2 = -1210
Representação de números inteiros positivos
Igual à representação de grandeza com sinal.
Representação de números inteiros negativos
Mantêm-se os bits menos significativos da direita para a esquerdaaté a ocorrência do primeiro bit igual a 1 (inclusive), sendo osbits restantes complementados de 1.
Representação em complemento de 2
23
Números negativos de 8 bits expressos em 3 sistemas diferentes
N
(decimal)
N
(binário)
-N
(sinal-
magnitude)
-N
(comple-
mento de 2)
1 00000001 10000001 11111111
2 00000010 10000010 11111110
3 00000011 10000011 11111101
4 00000100 10000100 11111100
10 00001010 10001010 11110110
20 00010100 10010100 11101100
Representação de números inteiros
24
Haverá sempre um padrão de bits a mais ou a menos, nãoimporta qual a representação escolhida.
Representação de números inteiros
25
Em alguns tipos de cálculo, a faixa de variação dos númerosenvolvidos é muito grande.
Exemplo:
1) Massa do elétron - da ordem de 9 x 10-28 gramas
2) Massa do Sol - aproximadamente igual a 2 x 1033 gramas
Faixa de variação: > 1060
Exemplo de representação (34 dígitos à esquerda do ponto decimal e 28 dígitos à direita do mesmo)
Como representar esses números no computador?
1) 0000000000000000000000000000000000.0000000000000000000000000009
2) 2000000000000000000000000000000000.0000000000000000000000000000
Representação de números reais
26
Forma usual de representação de números reais: parte inteira,vírgula (ou ponto), parte fracionária.
Esta representação, embora cômoda para cálculos no papel, nãoé adequada para processamento no computador.
Exemplo: 45,724
Representação de números reais
27
O número 45,724 pode ser expresso como:
45,724 x 100
45724 x 10-3
0,45724 x 102
É necessário o uso de um sistema de representação de númerosno qual a faixa de variação dos números seja independente donúmero de dígitos significativos dos números representados.
Representação de números reais
28
v
Representação em ponto flutuante
Uma maneira de separar a faixa de variação dos números desua precisão consiste em representá-lo na notação científica.
n = f x 10e
f - fração ou significando (ou mantissa)
e - expoente (inteiro positivo ou negativo)
Qualquer número (inteiro ou fracionário) pode ser expressono formato número x baseexpoente, podendo-se variar aposição da vírgula e o expoente.
Denominação (computacional): representação em pontoflutuante (o ponto varia sua posição, modificando, emconseqüência, o valor representado).
29
Representação pode variar (“flutuar”) a posição da vírgula,ajustando a potência da base.
Exemplos:
3,14 = 0,314 x 10-1 = 3,14 x 100
0,000001= 0,1 x 10-5 = 1,0 x 10-6
1941 = 0,1941 x 104 = 1,941 x 103
A faixa de variação dos números é determinada pela quantidadede dígitos do expoente, e a precisão é determinada pelaquantidade de dígitos do significando.
Representação em ponto flutuante
30
Forma normalizada: usa um único dígito antes da vírgula,diferente de zero (*).
Na representação computacional de números em ponto flutuante,a representação normalizada é, em geral, melhor que a não-normalizada.
Forma normalizada: só existe uma forma de representar um número.
Forma não normalizada: um mesmo número pode ser representadode diversas maneiras.
(*) O padrão IEEE 754 para números em ponto flutuante – significando
normalizado – começa com um bit 1, seguido de um ponto (vírgula) binário e
pelo resto do significando (número = ± 1,_ _ ... x 2exp )
Representação em ponto flutuante
31
Representação da Informação no
computador
Equipamento digital que só entende 0s e 1s
Processador Linguagem de máquina
Linguagem assembly
Linguagem de
Programação
Compilador
32
Representação da Informação no
computador
Por exemplo, para fazer a seguinte conta:
1 + 2 + 3
Em um computador hipotético, a simples operação acima poderia ser executada
através de um programa como este:
00000001 00000001 00000010 00000010 00000010 00000011
Traduzindo para algo mais legível, o programa acima seria composto pelas seguintes
instruções:
• Guardar o valor 1
• Acrescentar ao valor guardado o valor 2
• Acrescentar ao valor guardado o valor 3
33
Representação da Informação no
computador
O código anterior escrito em linguagem de programação:
public class Soma {
public static void main(String[] args) {
int valor = 1;
valor = valor + 2;
System.out.println(valor);
}
}
34
Representação da Informação no
computador
Exemplos de linguagens de programação:
• Java
• C
• C++
• C#
• Pascal
35
Representação da Informação no
computador
Tipos de dados em Java
Tipo Descrição
Boolean Pode assumir o valor true ou o valor false
Char Caractere em notação Unicode de 16 bits
Byte Inteiro de 8 bits em notação de complemento de dois
Short Inteiro de 16 bits em notação de complemento de dois
Int Inteiro de 32 bits em notação de complemento de dois
Long Inteiro de 64 bits em notação de complemento de dois
float Representa números em notação de ponto flutuante
normalizada em precisão simples de 32 bits em
conformidade com a norma IEEE 754-1985.
36
Exemplo:
Escreva os números decimais abaixo nas seguintesrepresentações: sinal e magnitude; representação em Grandezacom sinal; representação em complemento de 2 (utilizando 8bits, se existir representação).
a) -10
b) –15
c) –100
d) –130
Representação de números inteiros
37
Exemplo:
Efetue as seguintes operações em binário:
a) 0101 + 0100
b) 101010 + 1001
c) 10111001 + 101011
Representação de números inteiros
3838
Referências Bibliográficas
Notas de aula da disciplina “Introdução à Informática”, do
professor Fabrício Braga (UNIVASF).
Notas de aula da disciplina “Introdução à Computação”, da
professora Joseana Macêdo Fechine (UFCG).
STALLINGS, W. Arquitetura e Organização de Computadores.
5ª ed. Pearson Prentice-Hall do Brasil, 2006.
Sítio da internet:
http://www.calculadoraonline.com.br/view/index.php