aula 2 – sistemas de numeração...

Post on 03-Feb-2018

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Anderson Moreira Arquitetura de Computadores 1

Aula 2 – Sistemas de Numeração (Revisão)

Anderson L. S. Moreiraanderson.moreira@recife.ifpe.edu.br

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

top related