Aula 2 – Sistemas de Numeração...
-
Upload
nguyennhan -
Category
Documents
-
view
218 -
download
0
Transcript of Aula 2 – Sistemas de Numeração...
Anderson Moreira Arquitetura de Computadores 1
Aula 2 – Sistemas de Numeração (Revisão)
Anderson L. S. [email protected]
http://dase.ifpe.edu.br/~alsm
Anderson Moreira Arquitetura de Computadores 2
O que fazer com essa apresentação
Anderson Moreira Arquitetura de Computadores
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 4
Breve evolução dos componentes
Válvula
Transistores
Circuito Integrado
Anderson Moreira Arquitetura de Computadores 5
Evolução dos processadores
Anderson Moreira Arquitetura de Computadores 6
Anderson Moreira Arquitetura de Computadores
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 C = 100 D = 500 M = 1000
• 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.
∑−
−=
⋅=1
)(n
mi
ii Bxa
Anderson Moreira 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
• 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.
A Informação e sua Representação
Anderson Moreira Arquitetura de Computadores
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.
A Informação e sua Representação
Anderson Moreira Arquitetura de Computadores
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 XIX
10 10 1 10 1 10
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
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 3 5 7
500 70 3 300 50 7
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• 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
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
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ícilmanipulação visual, costuma-se representar externamente os valores binários emoutras bases de valor mais elevado (octal ou hexadecimal). Isso permite maiorcompactação de algarismos e melhor visualização dos valores.
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
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
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• 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
Sistema Decimal (Base 10)
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• 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”.
Sistema Binário (Base 2)
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• Utiliza 8 símbolos.
0 1 2 3 4 5 6 7
• Exemplo: 5638
• Expressão oral - similar ao sistema binário.
Sistema Octal (Base 8)
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• Possui 16 símbolos (algarismos) para representar qualquer quantidade.
0 1 2 3 4 5 6 7 8 9 A B C D E F
• Uso das letras - facilidade de manuseio.
• Exemplo: 5A316
• Expressão oral - similar ao sistema binário.
Sistema Hexadecimal (Base 16)
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
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.
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
Decimal Binário Octal Hexadecimal 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9
10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F . . .
.
.
.
.
.
.
.
.
.
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
Conversão entre Sistemas de Numeração• Procedimentos básicos: - divisão
(números inteiros) - polinômio- agrupamento de bits
OCTAL
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• 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)
Conversão entre Sistemas de Numeração
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• Divisão (Decimal outro sistema)
• Dividir o número por b (base do sistema) e os resultados consecutivas vezes.
Ex.: (125)10 = (? )2 (538)10 = (? )16
Conversão entre Sistemas de Numeração
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
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 = algarismo, b = base do númeron = quantidade de algarismo - 1
00
22
11 . . .babababa n
nn
nn
n ++++ −−
−−
Conversão entre Sistemas de Numeração
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
Ex.:
a) (1111101)2 = (? )10
b) (21A)16 = (? )10
(21A)16 = 2x162 + 1x161 + 10x160 = 53810
(1111101)2 = 1x26 + 1x25 + 1x24 + 1x23 + 1x22 + 0x21 + 1x20 = 12510
Conversão entre Sistemas de Numeração
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
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 (A79E)16 = ( ? )2
Conversão entre Sistemas de Numeração
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
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) binária.2 - resultado intermediário: binária hexadecimal (octal).
Conversão entre Sistemas de Numeração
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
Ex.:
a) (175)8 = ( ? )16
(175)8 = (1111101)2 = (7D)16
b) (21A)16 = (? )8
(21A)16 = (001000011010)2 = (1032)8
Conversão entre Sistemas de Numeração
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
Conversão de Números Fracionários
• Lei de Formação ampliada (polinômio):
Conversão entre Sistemas de Numeração
Exemplo: (101,110)2 = ( ? )10
1 × 22 + 0 × 21 + 1 × 20 +1 × 2-1 + 1 × 2-2 + 0 × 2-3 = (5,75)10
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
Conversão de Números Fracionários
• Operação inversa: multiplicar a parte fracionária pela base até que a parte fracionária do resultado seja zero.
♦ Decimal outro sistema
Exemplo: (8,375)10 = ( ? )2
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• 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 .
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• 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?
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• Solução:1710 = 25b17 = 2xb1 + 5xb0
17 = 2b + 5b = (17-5)/2 b = 6
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• Elabore um programa que realiza conversões entre sistemas de numeração, conforme descrição apresentada na figura abaixo.
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
Como um computador “identifica” que um número é negativo?
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
• 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
Sistemas de Numeração
Anderson Moreira Arquitetura de Computadores
Exemplo : (8 bits)
001010012 = 4110
11010111c2 = - 4110
Exemplo : (8 bits)
000011002 = 1210
11110100c2 = -1210
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.
Representação de Números Inteiros (Complemento de 2)
Anderson Moreira Arquitetura de Computadores
♦ Exemplo: Números inteiros codificados em binário de 8 bitsem 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)
Representação de Números Inteiros (Complemento de 2)
Anderson Moreira Arquitetura de Computadores
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.
Representação de Números Inteiros (Complemento de 2)
Anderson Moreira Arquitetura de Computadores
Exemplo:
Escreva os números decimais abaixo na representação em complemento de 2 (utilizando 8 bits, se existir representação).a) -1b) –20c) –127 d) –128
Representação de Números Inteiros (Complemento de 2)
Anderson Moreira Arquitetura de Computadores
• 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.
Representação de Números Reais
Anderson Moreira Arquitetura de Computadores
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.
O Padrão IEEE 754 para Números em Ponto Flutuante
Anderson Moreira Arquitetura de Computadores
Bits 1 8 23
Significando
Sinal Expoente
Bits 1 11 52
Significando
Sinal Expoente
Precisão simples
Precisão dupla
O Padrão IEEE 754 para Números em Ponto Flutuante
Anderson Moreira Arquitetura de Computadores
• 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.
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]
O Padrão IEEE 754 para Números em Ponto Flutuante
Anderson Moreira Arquitetura de Computadores José Delgado ©
Grandes números
Símbolo Lê-se Equivale a
Valorbinário Valor decimal Valor decimal
aproximado
Factor multiplicador :1024
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
212 1K * 4210 * 22
220 64K * 16216 * 24 1M
4K214
227
64K / 4216 / 22
1M * 128220 * 27
16K128M
230
220
1M * 1K220 * 210
1K * 1K210 * 210
1G
1M
Anderson Moreira Arquitetura de Computadores
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 sinalb) 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 sinalb) 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 sinalb) 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 57
Dúvidas