Sistemas de Numeração

Propaganda
Aula 2 – Sistemas de Numeração
(Revisão)
Anderson L. S. Moreira
[email protected]
http://dase.ifpe.edu.br/~alsm
Anderson Moreira
Arquitetura de Computadores
1
O que fazer com essa apresentação
Anderson Moreira
Arquitetura de Computadores
2
Agenda
•
•
•
•
•
•
Breve revisão da aula anterior
Introdução
Sistemas de Numeração
Conversão de Bases
Representação de números
Exemplos
Anderson Moreira
Arquitetura de Computadores
Breve evolução dos componentes
Válvula
Circuito Integrado
Transistores
Anderson Moreira
Arquitetura de Computadores
4
Evolução dos processadores
Anderson Moreira
Arquitetura de Computadores
5
Anderson Moreira
Arquitetura de Computadores
6
Introdução
•
Não tem como fugir:
– Matemática  Computação
•
Com Arquitetura de Computadores o sistema se torna o mesmo:
– Tudo depende em parte de sistemas matemáticos de estudo;
•
Porém qual o método mais prático de contagem?
Anderson Moreira
Arquitetura de Computadores
Introdução
•
No início utilizou-se o sistema de correspondência um-para-um,
para cada objeto e os dedos das mãos;
•
Aprimoramento foi o uso de traços:
•
Os primeiros algarismos encontrados consistiam de marcas
horizontais e verticais (como os acima). Podemos considerar os
romanos como a evolução dos traços:
I=1
•
V = 5 X = 10 L = 50
D = 500 M = 1000
C = 100
Além disso utilizou uma série de regras para formar números de
grandeza maior:
VI = 5+1 = 6
IV = 5-1 = 4
CXVI = 100+10+5+1 = 116
Anderson Moreira
Arquitetura de Computadores
Introdução
• A realização de cálculos com esse sistema, especialmente
para operações como multiplicação e divisão era
extremamente complexa e de aplicação praticamente
impossível:
Exercício 1 – Procurar como realizar operações
matemáticas com algarismos romanos.
• Posteriormente os árabes utilizaram-se de um sistema
originário da Índia, que possuía 10 algarismos (0 a 9)
Anderson Moreira
Arquitetura de Computadores
Introdução
Anderson Moreira
Arquitetura de Computadores
Introdução
• Esse sistema começou a ser utilizado na Europa no século 12.
Destaca-se pelas seguintes características:
– Existe um símbolo para o valor nulo;
– Cada algarismo utilizado é uma unidade maior que seu
predecessor;
– A notação é posicional;
– Cada posição possui um determinado peso.
Anderson Moreira
Arquitetura de Computadores
Representação de números
• Os sistemas atuais formam os números pela fórmula a seguir, onde a
representa o número propriamente dito; B representa a base do sistema de
numeração (B >= 2); xi representa os algarismos (0 ≤ xi ≤ B); e o intervalo
de –m a n-1 representa o número de posições utilizadas. Com B=10 tem-se o
sistema decimal.
a=
n −1
∑ (x ⋅ B )
i
i =− m
Anderson Moreira
i
Arquitetura de Computadores
Representação de números
•
Para os sistemas de numeração utilizam-se as seguintes regras:
– A base B de um sistema é igual à quantidade de algarismos
distintos utilizados. Para a base decimal, tem-se 10 algarismos
distintos (de 0 a 9);
– Quando uma posição é ocupada pelo maior algarismo e ela deve
ser aumentada de uma unidade, esta posição recebe o símbolo
nulo e a posição seguinte deve ser aumentada de uma unidade;
– O algarismo mais à direita (digito menos significativo) tem peso
1, o imediatamente a esquerda tem peso B, o seguinte peso B ao
quadrado e assim sucessivamente;
– O valor de cada algarismo de um número é determinado
multiplicando-se o algarismo pelo peso de sua posição;
– O valor de um número é determinado pela soma dos valores de
cada algarismo.
Anderson Moreira
Arquitetura de Computadores
A Informação e sua Representação
• Os computadores manipulam dados (sinais brutos e sem
significado individual) para produzir informações.
• A conversão de dados em informações, e estas novamente em
dados, é uma parte tão fundamental em relação ao que os
computadores fazem que é preciso saber como a conversão
ocorre para compreender como o computador funciona.
• Infelizmente os computadores não usam nosso sistema de
numeração.
Anderson Moreira
Arquitetura de Computadores
A Informação e sua Representação
Sistema de Numeração
•
•
•
•
•
Conjunto de símbolos utilizados para representação de
quantidades e de regras que definem a forma de representação.
Cada sistema de numeração é apenas um método diferente de
representar quantidades.
As quantidades em si não mudam, mudam apenas os símbolos
usados para representá-las.
A quantidade de algarismos disponíveis em um dado sistema de
numeração é chamada de base.
Representação numérica mais empregada: notação posicional.
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Não Posicionais

Valor atribuído a um símbolo é inalterável,
independente da posição em que se encontre no
conjunto de símbolos que representam uma
quantidade.

Sistema de numeração Romano
XXI
10
Anderson Moreira
10
XIX
1
Arquitetura de Computadores
10
1
10
Sistemas de Numeração
Posicionais

Valor atribuído a um símbolo dependente da posição
em que se encontre no conjunto de símbolos que
representa uma quantidade.
 Sistema de Numeração Decimal
5 7 3
500
Anderson Moreira
70
3 5 7
3
300
Arquitetura de Computadores
50
7
Sistemas de Numeração
• Sistema de numeração – código
• Operação básica – contagem
• Grupo com um determinado número de objetos –
base (raiz)
• Sistemas de numeração básicos:
–
–
–
–
Decimal
Binário
Octal
Hexadecimal
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Exemplos de Sistemas de Numeração
Sistema
Base
Algarismos
Binário
2
0,1
Ternário
3
0,1,2
Octal
8
0,1,2,3,4,5,6,7
Decimal
10
0,1,2,3,4,5,6,7,8,9
Duodecimal
12
0,1,2,3,4,5,6,7,8,9,A,B
Hexadecimal
16
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Como os números representados em base 2 são muito extensos e, portanto, de difícil
manipulação visual, costuma-se representar externamente os valores binários em
outras bases de valor mais elevado (octal ou hexadecimal). Isso permite maior
compactação de algarismos e melhor visualização dos valores.
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Padrões de Representação
•
•
Letra após o número para indicar a base;
Número entre parênteses e a base como um
índice do número.
•
Exemplo:
– Sistema Decimal – 2763D ou (2763)10
ou 276310
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Sistema Decimal (Base 10)
• Sistema mais utilizado.
• 10 símbolos para representar quantidades.
0
1
2
3
4
5
6
7
8
9
• Peso – representar quantidades maiores que a base.
• Peso trouxe: unidade, dezena, (dez unidades), centena (cem
unidades), milhar (mil unidades), dezena de milhar, centena
de milhar, etc.
• Exemplo: 2574 é composto por 4 unidades, 7 dezenas, 5
centenas e 2 milhares, ou 2000 + 500 + 70 + 4 = 2574
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Sistema Binário (Base 2)
• Utiliza dois símbolos para representar quantidades.
0
e
1
• Segue as regras do sistema decimal - válidos os conceitos de
peso e posição. Posições não têm nome específico.
• Cada algarismo é chamado de bit. Exemplo: 1012
• Expressão oral - diferente dos números decimais.
– Caractere mais à esquerda - Most-Significative-Bit “MSB”.
– Caractere mais à direita - Least-Significative-Bit - “LSB”.
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Sistema Octal (Base 8)
•
Utiliza 8 símbolos.
0
1
2
3
4
5
6
•
Exemplo: 5638
•
Expressão oral - similar ao sistema binário.
Anderson Moreira
Arquitetura de Computadores
7
Sistemas de Numeração
Sistema Hexadecimal (Base 16)
• Possui 16 símbolos (algarismos) para representar
qualquer quantidade.
0
A
1
B
2
C
3
D
4
E
5
F
6
• Uso das letras - facilidade de manuseio.
• Exemplo: 5A316
• Expressão oral - similar ao sistema binário.
Anderson Moreira
Arquitetura de Computadores
7
8
9
Sistemas de Numeração
Ao trabalhar com sistemas de numeração, em qualquer
base, deve-se observar o seguinte:
• O número de dígitos usado no sistema é igual à base.
• O maior dígito é sempre menor que a base.
• O dígito mais significativo está à esquerda, e o menos
significativo à direita
• Um “vai-um” de uma posição para outra tem um peso
igual a uma potência da base.
• Em geral se toma a base decimal como referência.
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.
.
.
Anderson Moreira
Binário
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
.
.
.
Octal
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
.
.
.
Arquitetura de Computadores
Hexadecimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
.
.
.
Sistemas de Numeração
Conversão entre Sistemas de Numeração
•
Procedimentos básicos:
(números inteiros)
- divisão
- polinômio
- agrupamento de bits
OCTAL
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Conversão entre Sistemas de Numeração
• Divisão (Decimal
outro sistema)
– Divisão inteira (do quociente) sucessiva pela
base, até que resto seja menor do que a base.
– Valor na base = composição do último
quociente (MSB) com restos (primeiro resto é o
bit menos significativo - LSB)
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Conversão entre Sistemas de Numeração
•
Divisão (Decimal
•
Dividir o número por b (base do sistema) e os
resultados consecutivas vezes.
Ex.: (125)10 =
Anderson Moreira
outro sistema)
(? )2
(538)10 = (? )16
Arquitetura de Computadores
Sistemas de Numeração
Conversão entre Sistemas de Numeração
Notação Polinomial ou Posicional
•
•
Válida para qualquer base numérica.
LEI DE FORMAÇÃO
(Notação ou Representação Polinomial):
Número =
an bn + an −1bn −1 + an −2bn −2 + . +. a0.b0
an = algarismo, b = base do número
n = quantidade de algarismo - 1
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Conversão entre Sistemas de Numeração
Ex.:
a) (1111101)2 = (? )10
(1111101)2 =
1x26 + 1x25 + 1x24 + 1x23 + 1x22 + 0x21 + 1x20 = 12510
b) (21A)16 =
(? )10
(21A)16 = 2x162 + 1x161 + 10x160 = 53810
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Conversão entre Sistemas de Numeração
Agrupamento de Bits
• Sistemas octal e hexa
binário (e vice versa)
• associando 3 bits ou 4 bits (quando octal
ou hexadecimal, respectivamente) e vice-versa.
Ex.: (1011110010100111)2 = ( ? )16
Anderson Moreira
Arquitetura de Computadores
(A79E)16 = ( ? )2
Sistemas de Numeração
Conversão entre Sistemas de Numeração
Conversão octal
hexadecimal
• Não é realizada diretamente - não há relação de potências
entre as bases oito e dezesseis.
• Semelhante à conversão entre duas bases quaisquer - base
intermediária (base binária)
• Conversão em duas etapas:
1 - número: base octal (hexadecimal)
2 - resultado intermediário: binária
Anderson Moreira
Arquitetura de Computadores
binária.
hexadecimal (octal).
Sistemas de Numeração
Conversão entre Sistemas de Numeração
Ex.:
a) (175)8 = ( ? )16
(175)8 = (1111101)2 = (7D)16
b) (21A)16 = (? )8
(21A)16 = (001000011010)2 = (1032)8
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Conversão entre Sistemas de Numeração
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
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Conversão de Números Fracionários
♦ Decimal
outro sistema
• Operação inversa: multiplicar a parte fracionária pela base até
que a parte fracionária do resultado seja zero.
Exemplo: (8,375)10 = ( ? )2
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
•
Mostre que:
– 5,810 = 101,11001100...
2
(uma dízima).
– 11,610 = 1011,10011001100... 2
• a vírgula foi deslocada uma casa para a
direita, pois 11,6 = 2 x 5,8 .
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
• Uma caixa alienígena com o número 25
gravado na tampa foi entregue a um grupo
de cientistas. Ao abrirem a caixa,
encontraram 17 objetos. Considerando
que o alienígena tem um formato
humanóide, quantos dedos ele tem nas
duas mãos?
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
• Solução:
1710 = 25b
17 = 2xb1 + 5xb0
17 = 2b + 5
b = (17-5)/2
b=6
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
• Elabore um programa que realiza
conversões entre sistemas de numeração,
conforme descrição apresentada na figura
abaixo.
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
Como um computador “identifica” que um número é negativo?
Anderson Moreira
Arquitetura de Computadores
Sistemas de Numeração
•
A resposta a esta pergunta é que isso depende da
convenção usada 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
Anderson Moreira
Arquitetura de Computadores
Representação de Números Inteiros (Complemento de 2)

Representação de números inteiros positivos
– igual à representação usual já apresentada

Representação de números inteiros negativos
– mantém-se os bits menos significativos da direita para a esquerda
até à ocorrência do primeiro bit igual a 1 (inclusive), sendo os bits
restantes complementados de 1.
– Esta operação equivale a: complemento de 1 + 1.
Exemplo : (8 bits)
Exemplo : (8 bits)
000011002 = 1210
001010012 = 4110
11110100c2 = -1210
11010111c2 = - 4110
Anderson Moreira
Arquitetura de Computadores
Representação de Números Inteiros (Complemento de 2)
♦
Exemplo: Números inteiros codificados em binário de 8 bits
em um sistema que utiliza complemento de 2:
(-128, -127, ..., -2. -1, 0, +1, +2,..., +127)
{10000000, 10000001, ..., 11111110, 11111111,
00000000,
00000001, 00000010, ..., 01111111}
♦
Bit mais significativo
informação de sinal
(0 = positivo e 1 = negativo)
Anderson Moreira
Arquitetura de Computadores
Representação de Números Inteiros (Complemento de 2)
 Requer um só circuito (somador) para fazer a adição e a subtração.
 Há apenas uma representação para o valor 0 (disponibilidade para
mais uma representação) - mais um número negativo pode ser
representado (para 8 bits, pode-se representar o número –12810 ⇒
100000002) .
 A quantidade de números positivos é diferente da quantidade de
números negativos.
Anderson Moreira
Arquitetura de Computadores
Representação de Números Inteiros (Complemento de 2)
Exemplo:
Escreva os números decimais abaixo na representação em
complemento de 2 (utilizando 8 bits, se existir
representação).
a) -1
b) –20
c) –127
d) –128
Anderson Moreira
Arquitetura de Computadores
Representação de Números Reais
•
Até meados dos anos 1980, cada fabricante de computador
tinha seu próprio formato para representar números em
ponto flutuante.
•
Solução: criação do Padrão 754 (IEEE 1985).
•
O Padrão IEEE 754 procurou uniformizar a maneira como as
diferentes máquinas representam os números em ponto
flutuante, bem como devem operá-los.
•
O padrão IEEE 754 para ponto (vírgula) flutuante é a
representação mais comum para números reais em
computadores de hoje, incluindo PC's compatíveis com Intel,
Macintosh, e a maioria das plataformas Unix/Linux.
Anderson Moreira
Arquitetura de Computadores
O Padrão IEEE 754 para Números em Ponto Flutuante
O padrão IEEE 754 define três formatos:
• Precisão simples (32 bits)
• Precisão dupla (64 bits)
• Precisão estendida (80 bits)
• Os formatos de precisão simples e precisão dupla usam a
base 2 para o significando e a notação em excesso para o
expoente.
Anderson Moreira
Arquitetura de Computadores
O Padrão IEEE 754 para Números em Ponto Flutuante
Bits 1
8
23
Significando
Sinal
Expoente
Precisão simples
Bits 1
11
52
Significando
Sinal
Anderson Moreira
Expoente
Precisão dupla
Arquitetura de Computadores
O Padrão IEEE 754 para Números em Ponto Flutuante
•
•
•
•
Precisão
Sinal
Expoente(+/-)
Significando
Simples (32bits)
1 [bit31]
8 [bits30-23]
23 [bits22-00]
Dupla (64 bits)
1 [bit63]
11 [bits62-52]
52 [bits51-00]
Sinal: 0 = + e 1 = Combinações: Sinal + Expoente + Significando
Notação em excesso de 127 (bit de polarização): precisão
simples.
Notação em excesso de 1023 (bit de polarização): precisão
dupla.
Anderson Moreira
Arquitetura de Computadores
Grandes números
Factor multiplicador :1024
Símbolo Lê-se
Equivale Valor
a
binário
Valor decimal
Valor decimal
aproximado
K
Kilo
1024
210
1 024
103
M
Mega
1024 K
220
1 048 576
106
G
Giga
1024 M
230
1 073 741 824
109
T
Tera
1024 G
240
1 099 511 627 776
1012
• Utilizam-se mais frequentemente para expressar a
capacidade de memória de um computador (em
bytes). Exemplos: 512 MB, 40 GB, 2 TB.
Anderson Moreira
Arquitetura de Computadores
José Delgado ©
Cálculo de potências de 2
Potência 2
Decomposição
Ou seja…
Resultado
220
216 * 24
64K * 16
1M
220
210 * 210
1K * 1K
1M
212
210 * 22
1K * 4
4K
214
216 / 22
64K / 4
16K
227
220 * 27
1M * 128
128M
230
220 * 210
1M * 1K
1G
Anderson Moreira
Arquitetura de Computadores
José Delgado ©
Essencial saber!
• O computador é a verdadeira “caixa que mudou o mundo”,
mas não por mérito próprio;
• Computador executa cegamente as instruções que lhe dão
sem saber o que está fazendo;
• A inteligência aparente de alguns programas é apenas do
programador;
• O código de máquina consiste numa seqüência de instruções
básicas que o computador sabe executar diretamente e que
refletem diretamente os recursos internos que o processador
dispõe;
• Os computadores atuais atuam utilizando a base binária com
apenas dois símbolos: 1 e 0. Não entendem a linguagem
natural;
• É preciso converter nossas idéias em código de máquina.
Anderson Moreira
Arquitetura de Computadores
Exercícios
Considere o número A3F9 C05BH.
a) Quantos bits são necessários para o representar?
b) Em complemento para 2 com 32 bits, é positivo ou negativo?
c)
Determine o seu complemento para 2 (apresente-o em
hexadecimal).
Anderson Moreira
Arquitetura de Computadores
Exercícios
1. Que gama de números em decimal é possível representar em
binário com 12 bits:
a) sem sinal
b) em complemento para 2? Justifique.
2. Indique a que número decimal corresponde o número binário
1100111001B, supondo que este:
a) não tem sinal
b) está em complemento para 2.
3. Considere o número decimal –20. Represente-o:
a) em complemento para 2 com 8 bits (binário)
b) em hexadecimal com 2, 4 e 8 dígitos.
Anderson Moreira
Arquitetura de Computadores
Exercícios
4.
Qual o maior e o menor número que consegue representar com 8
dígitos em hexadecimal?
a) sem sinal
b) em complemento para 2?
5.
Quantos bits no total têm 12 Kbytes (resposta em decimal) ?
6.
Qual o valor do expoente da potência de 2 equivalente a K, M, G e
T?
7.
Utilizando estes factores de escala, indique o valor das seguintes
potências de 2 (exemplo: 214 = 16 K): 226, 219, 238, 245.
Anderson Moreira
Arquitetura de Computadores
Dúvidas
Anderson Moreira
Arquitetura de Computadores
57
Download