Você está na página 1de 57

Aula 2 – Sistemas de Numeração

(Revisão)

Anderson L. S. Moreira
anderson.moreira@recife.ifpe.edu.br
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 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.

n −1
a= ∑ (x ⋅ B )
i =− m
i
i

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


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 XIX

10 10 1 10 1 10

Anderson Moreira Arquitetura de Computadores


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 3 5 7

500 70 3 300 50 7

Anderson Moreira Arquitetura de Computadores


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 7

• Exemplo: 5638

• Expressão oral - similar ao sistema binário.

Anderson Moreira Arquitetura de Computadores


Sistemas de Numeração

Sistema Hexadecimal (Base 16)

• 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.

Anderson Moreira Arquitetura de Computadores


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 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
. . . .
. . . .
. . . .
Anderson Moreira Arquitetura de Computadores
Sistemas de Numeração

Conversão entre Sistemas de Numeração


• Procedimentos básicos: - divisão
(números inteiros) - 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 outro sistema)

• Dividir o número por b (base do sistema) e os


resultados consecutivas vezes.

Ex.: (125)10 = (? )2 (538)10 = (? )16

Anderson Moreira 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 (A79E)16 = ( ? )2

Anderson Moreira Arquitetura de Computadores


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) binária.
2 - resultado intermediário: binária hexadecimal (octal).

Anderson Moreira Arquitetura de Computadores


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 Expoente
Precisão dupla

Anderson Moreira 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

Equivale Valor Valor decimal


Símbolo Lê-se Valor decimal
a binário 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