conversão de bases -...

29
ADS / REDES / ENGENHARIA Prof. Celso Candido Sistemas Numéricos - Aritmética 1 Conversão de Bases Introdução à Organização de Computadores 5ª Edição/2007 Página 54

Upload: vanngoc

Post on 20-Oct-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

1

ConversãodeBases

IntroduçãoàOrganizaçãodeComputadores5ªEdição/2007

Página54

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

2

O SISTEMA DE NUMERAÇÃO É FORMADOPOR UM CONJUNTO DE SÍMBOLOSUTILIZADOS PARA REPRESENTARQUANTIDADES E AS REGRAS QUEDEFINEM A FORMA DE SUASREPRESENTAÇÕES.

NOTAÇÃO POSICIONAL - BASE DECIMAL

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

3

A formação dos números e as operações efetuadas com eles dependem, nossistemas posicionais e da quantidade de algarismos diferentes disponíveis noreferido sistema.

NOTAÇÃO POSICIONAL - BASE DECIMAL

Para uma determinada base b, usamos n dígitos, representado por bn (b elevadoa n) para combinações distintas ou bn (b base n) para números distintos.

Na cultura ocidental é usado um sistema de numeração que possui dezdiferentes algarismos — 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, chamado de Sistema Decimal,conhecido em informática como base 10 ou b10, onde cada número érepresentado pela letra N ou n e possui um valor dependendo de sua posição.

Para encontramos esses valores, usamos a fórmula N = n x bn.

Dessa forma para uma base decimal contendo três dígitos podemos representaraté 1000 números distintos, sempre incluindo o zero (0) como ponto decontagem inicial.

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

4

A quantidade de algarismos disponíveis em um dadosistema de numeração é chamada de base:− Sistema Decimal ou 10 Algarismos chamamos de base

10 ou b10;− Sistema Binário ou 2 Algarismos chamamos de base 2

ou b2;− Sistema Octal ou 8 Algarismos chamamos de base 8

ou b8, e assim por diante.

NOTAÇÃO POSICIONAL - BASE DECIMAL - Definição

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

5

Exemplo de cálculo com o decimal 2459, onde: No sentido da direita para esquerda temos nosso digito inicial, 9, representando aquantidade de unidades, e se encontra na posição decimal zero (0) ou 100;

NOTAÇÃO POSICIONAL - BASE DECIMAL

103 102 101 100

2 4 5 9

O próximo digito, 5, representa as dezenas, e se encontra na posição decimal um(1) ou 101;

O dígito, 4, representa as centenas, e se encontra na posição decimal dois (2) ou102;

O dígito,2, representando os milhares, e se encontra na posição decimal três (3) ou103.

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

6

Então temos:2459 = 2 x 103 + 4 x 102 + 5 x 101 + 9 x 100

NOTAÇÃO POSICIONAL - BASE DECIMAL

N = 5 x 104 + 6 x 103 + 9 x 102 + 9 x 101 + 2 x 100 =

Vejamos um exemplo de cálculo usando a fórmula N = n x bn, seguindo o sentido decálculo da esquerda para direita, para o número 56992.

N = 5 x 10000 + 6 x 1000 + 9 x 100 + 9 x 10 + 2 x 1 =

N = 50000 + 6000 + 900 + 90 + 2 =

N = 56992

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

7

Para entendermos melhor o que é um Sistema Posicional, vamos considerar um

exemplo um pouco mais detalhado com número 466410. Vejamos algumas de

suas propriedades importantes:

A base 10 ou b10, apenas indica que se trata de um decimal;

NOTAÇÃO POSICIONAL - BASE DECIMAL

O valor do primeiro algarismo 4 é diferente do último algarismo que também

é 4;

O primeiro nos indica 4mil e o último indica 4 unidades;

O mesmo acontece com o algarismo 6;

O primeiro indica 6 centenas, enquanto o segundo indica 6 dezenas.

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

8

Pelo que já vimos, podemos afirmar que emum Sistema Posicional um mesmo símbolopode assumir valores diferentes dependendode sua posição.

NOTAÇÃO POSICIONAL - BASE DECIMAL

Então, para sabermos o valor de qualquernúmero que esteja usando o SistemaPosicional, precisamos conhecer o valor daposição ou posicional de cada símbolo.

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

9

Para calcular o valor de um determinado símbolo que esteja representado através doSistema Posicional, iremos aplicar a fórmula de Valor Posicional V = S * bn‐1, onde:

− V = Valor posicional do símbolo. Exemplo: o valor posicional do símbolo 4 no númerodecimal 345 é 40.

− S = Valor absoluto do símbolo. Exemplo: o valor do símbolo 4 no sistema posional é onúmero decimal é 4 ou 410.

− b = Base do sistema numérico. É a quantidade de símbolos que dispomos para escreveros números. Exemplos:

o No sistema decimal temos 10 símbolos (de zero a nove), portanto a base 10.o No sistema binário temos 2 símbolos (zero e um), portanto a base 2.

NOTAÇÃO POSICIONAL - BASE DECIMAL – EXEMPLO DE APLICAÇÃO

− n‐1 = É a posição em que o símbolo se encontra. Seu resultado indicará qual potênciaserá elevado o número. Esta posição é definida da direita para esquerda e inicia emzero.

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

10

Exemplos para o cálculo n‐1 no decimal (345)10:o Ordem de leitura, da direita para a esquerda.o A posição n do símbolo 5 no número 345 é 1, assim temos:

n‐1 = 1 – 1 = 0 ou potência 0.o A posição n do símbolo 4 no número 345 é 2 com potência 1, assim temos:

n‐1 = 2 – 1 = 1 ou potência 1.o A posição do símbolo 3 no número 345 é 2 com potência 2 , assim temos:

n‐1 = 3 – 1 = 2 ou potência 2.

FÓRMULA V = S * bn‐1

Posição  bn‐1 2 1 0

Símbolos  S 3 4 5

NOTAÇÃO POSICIONAL - BASE DECIMAL – EXEMPLO DE APLICAÇÃO

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

11

Conhecendo a fórmula basta calcular o valor posicional de cada símbolo do número dadoe então somar os valores encontrados.Exemplo, vamos considerar novamente o número decimal (5613)10.

Posição  bn‐1 3 2 1 0

Símbolos  S 5 6 1 3

Valor Posicional  VV= 5 * (103)V= 5 * 1000V= 5000

V= 6 * (102)V= 6 * 100V= 600

V= 1 * (101)V= 1 * 10V= 10

V= 3 * (100)V= 3 * 1V= 3

Somando os valores encontrados temos: 5000 + 600 + 10 + 3 = (5613)10.

Acredito que nunca precisaremos fazer todos estes cálculos para concluir que o númerodecimal (5613)10 vale (5613)10. Mas este é apenas um exemplo didático para demonstrar aaplicação da fórmula do Valor Posicional.

NOTAÇÃO POSICIONAL - BASE DECIMAL – EXEMPLO DE APLICAÇÃO

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

12

NIBBLE / BYTE

Base binária ou base 2 é a forma mais comum para representar números e caracteres noscomputadores, formadas apenas por 0s e 1s, que correspondem aos sinais elétricos deligado e desligado.

Em base 2, os algarismos com representaçãonumérica binária recebem o nome de bit, daabreviatura Binary Digit. Outras denominaçõesusadas com frequência são: byte = conjunto de 8 bits; nibble = conjunto de quatro bits ou meiobyte.

O Sistema Binário resolve o problema de leitura dos computadores, e para os humanos oSistema Decimal continua sendo o preferido. Para que um entenda o outro precisamossaber como converter números decimais para binários e vice‐versa.

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

13

MATERIAL DIDÁTICO – LOUSAPágina 55

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

14

De binário para decimal:

(10011)2 == 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20 == 1 x 16 + 0 x 8 + 0 x 4 + 1 x 2 + 1 x 1 == 16 + 0 + 0 + 2 + 1 == 1910

BASE BINÁRIA – CONVERSÃO DE BASES - EXEMPLOS

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

15

Para a conversão de binário para decimal precisamos calcular o valor posicional de cada símbolo donúmero fornecido, usaremos a fórmula de valor posicional: V = S * bn‐1, onde: V = Valor posicional do símbolo; S = Valor absoluto do símbolo; b = Base do sistema numérico. Base 2 para nosso exemplo; n‐1 = É a posição em que o símbolo se encontra.Para nosso exemplo, usaremos do número (100101)2 = (37)10:

Posição  bn‐1 5 4 3 2 1 0

Símbolos  S 1 0 0 1 0 1

Valor Posicional  VV= 1 * (25)V= 1 * 32V= 32

V= 0 * (24)V= 0 * 16V= 0

V= 0 * (23)V= 0 * 8V= 0

V= 1 * (22)V= 1 * 4V= 4

V= 0 * (21)V= 0 * 2V= 0

V= 1 * (20)V= 1 * 1V= 1

Somando os valores dos dígitos (32 + 0 + 0 + 4 + 0 +1) teremos o total 37, ou seja, a representaçãodecimal do binário 100101.

BASE BINÁRIA – CONVERSÃO DE BASES - EXEMPLOS

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

Dividendo Divisor Quociente Resto Como ler:37 2 18 1

A leitura do binário é feita de baixo para 

cima.

100101

18 2 9 09 2 4 14 2 2 02 2 1 01 2 0 1

16

Passos para converter o decimal (37)10 em binário:Estes passos são, na verdade, divisões sucessivas do número a ser calculado por 2 (basedo sistema binário), até que tenhamos um quociente zero. Vejamos o exemplo abaixo:

Para obtermos a representação binária, tomamos os restos das divisões na ordem inversa.Para o caso anterior temos (100101)2, que é a representação binária do número (37)10.

BASE BINÁRIA – CONVERSÃO DE BASES - EXEMPLOS

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

17

Sistema de numeração com representação em base 8, utiliza 8 símbolos decimais para a

sua representação: 0, 1, 2, 3, 4, 5, 6, 7.

BASES -

Forma compacta de representar valores binários no sistema decimal para números de

base 2 muito extensos.

Utilizando‐se a equação da Notação Posicional, representaremos os números dos

exemplos abaixo com suas respectivas bases:

‒ Exemplo 01 na base 2: (1011)2‒ Exemplo 02 na base: (1043)5‒ Exemplo 03 na base (257)8

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

18

Para o número na base 2: (1011)2, onde “N” será nossa abreviação

de “Notação” decimal, teríamos:

N = 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 =

N = 8 + 0 + 2 + 1 = (11)10

N = (11)10, lemos que o valor 11 está expresso na base 10 e nãona base 2.

BASE DOIS - Exemplo

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

19

Para o número na base 5: (1043)5, teríamos:

N = 1 x 53 + 0 x 52 + 4 x 51 + 3 x 50 =

N = 125 + 0 + 20 + 3 = (148)10, onde

N = (148)10

BASE CINCO– Exemplo

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

20

Para o número na base 8: (257)8, teríamos:

N = 2 x 82 + 5 x 81 + 7 x 80 =

N = 128 + 40 + 7 = (175)10, onde

N = (175)10

BASE OCTAL – Exemplo

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

21

BASE HEXADECIMALUSANDO TABELA DE CONVERSÃO

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

22

BASE HEXADECIMALJá em bases com valores superiores a 10 dígitos, usamos letras do alfabeto para suarepresentação, chamada de base 16 ou hexadecimal.

0,1, 2,3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Nessa base, os “algarismos” A, B, C, D, E, F representam o valore, onde: A = 10, B = 11, C=12, D =13, E = 14, F =15.

Exemplo:(10AC)16, onde A = 10 e C = 12

N = 1 * 163 + 0 * 162 + 10 * 161 + 12 * 160 =

N = 1 * 4096 + 0 * 256 + 10 * 16 + 12 * 1 =

N = 4096 + 0 + 160 + 12 =

N = 426810

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

23

BASE HEXADECIMAL – Tabela de Representação

Base 2 Base 5 Base 8 Base 10 Base 160000 0 0 0 00001 1 1 1 1

→ 0010 2 2 2 2→ 0011 3 3 3 3

0100 4 4 4 40101 5 5 50110 6 6 60111 7 7 71000 8 81001 9 91010 10 A1011 11 B1100 12 C1101 13 D1110 14 E1111 15 F

Usando a tabela ao lado, podemos fazercomparações ao observarmos que osdígitos octais (base 8) e hexadecimais(base 16) para 2 e 3 em vermelhocorrespondem a combinações em 0010 e0011 em bits, base 2 ou Binários.

OBS.: Zeros a esquerda do último bit,deverá ser desprezado, para efeito decálculo.

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

24

Por exemplo, o número (3037)10 é igual a (101111011101)2, possui 12 bits, mas pode serrepresentado com quatro (4) algarismos octais ou com apenas três (3) algarismoshexadecimais.

BASE HEXADECIMAL – Exemplo – Usando Tabela

1) Octal – de 000 (0) até 111 (7): (101111011101)2 = (5735)8, porque ao dividirmos o binário em 4 partes, temos:

101 = 5; 111 = 7; 011 = 3; 101 = 5, onde teremos um octal de valor (5735)8.

2. Hexadecimal – de 0000 (0) até 1111 (F): (101111011101)2 = (BDD)16, porque ao dividirmos o binário em 3 partes, temos:

1011 = B; 1101 = D; 1101 = D, onde teremos um hexa de valor (BDD)16.

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

25

Para a conversão de números decimais em hexadecimal, precisamos saber que o sistema hexadecimaldispõe de 16 símbolos, de 0 (zero) até F.

Dividendo Divisor Quociente Resto Como ler:23870 16 1491 14

A leitura é feita de baixo para cima.

1491 16 93 393 16 5 135 16 0 5

Tomando‐se os restos na ordem inversa e seus respectivos símbolos, temos:

Resto 5 13 3 14Símbolo 5 D 3 E

Assim concluímos que o número (23870)10 convertido para hexadecimal é: (5D3E)16.

BASE HEXADECIMAL – Exemplo – Sem usar Tabela

Exemplo: Conversão de (23870)10 para hexadecimal:

Vamos aplicar a mesma técnica para a conversão hexadecimal que utilizamos na conversão decimal /binário. A única diferença é que estaremos dividindo por 16 em vez de 2.

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

26

Sistema Hexadecimal – Conversão para Decimal sem TabelaO sistema hexadecimal também é considerado como posicional, então só precisamos aplicar afórmula do valor posicional a cada símbolo e somar os resultados obtidos.

Posição  bn‐1 4 3 2 1 0Símbolos  S

Em Hexadecimal 5 C 3 F A

Símbolos SEm Decimal 5 12 3 15 10

Valor Posicional  VV= 5 * (164)V= 5 * 65536V= 327680

V= 12 * (163)V= 12 * 4096V= 49152

V= 3 * (162)V= 3 * 256V= 768

V= 15 * (161)V= 15 * 16V= 240

V= 10 * (160)V= 10 * 1V= 10

Somando‐se os valores posicionais encontrados, temos:327680 + 49152 + 768 + 240 + 10 = (377850)10

Portanto o número hexadecimal (5C3FA)16 convertido para decimal é: (377850)10.

No exemplo abaixo converteremos o número hexadecimal (5C3FA)16 para decimal:

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

27

Sistema Hexadecimal – Conversão de Octal com a TabelaPara o processo de conversão de base 8 para base 16, levamos em conta que qualquer processode transformação de base usa como referência a base 2 (binária), então:

Etapa 01: transformamos a base 8 para base 2 usando a tabela de conversãoapresentada; Etapa 02: transformamos o resultada da base 2 (binária) para base 16 Hexadecimal.

Exemplo de transformação do octal (37421)8 em base 16:Etapa 01 – Na transformação para binário a leitura é feita da esquerda para direita usando a tabela,então:

• 3 = 011• 7 = 111• 4 = 100• 2 = 010• 1 = 001

(011111100010001)2

(011111100010001)2 = 15 algarismo ‐ INCORRETO

Zero acrescentado a esquerda do algarismo.

Não podemos trabalhar usando a tabela paratransformação em HEXA com soma de algarismosímpares, então completamos com zeros (0) aesquerda até termos soma de algarismos pares,onde teremos o binário: (0011111100010001)2

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

28

Sistema Hexadecimal – Convertendo de Octal para HexaEtapa 02 – Resultado obtido na etapa 01 foi (0011111100010001)2, onde faremos:1. Dividimos o binário em um total de 4 partes, pois temos 16 algarismos e a

transformação para hexadecimal pede que trabalhemos com quatro algarismos porvez, de 0000 até 1111, onde teremos:

Portanto, fazendo a leitura de a para d nosso número hexadecimal será: (3F11)16

0011 | 1111 | 0001 | 0001

2. Consultando a tabela de transformação obtemos os seguintes valores:a) 0011 = 3b) 1111 = Fc) 0001 = 1d) 0001 = 1

ADS/REDES/ENGENHARIA Prof.CelsoCandido

Sistemas Numéricos - Aritmética

29

Aulas de Apoio

Estarão disponibilizadas nos descritos a baixo para downloads osarquivos nos formatos: PowerPoints ou Word das aulas. Algunsestarão disponíveis para impressão, outros, somente para leitura,mas não para edição. Em alguns casos em que se fizer necessário aimpressão, o professor estará liberando para um melhordesenvolvimento dos trabalhos a ser solicitados.

Sites do professor:www.aulasprof.6te.net www.profcelso.orgfree.com

Contato:[email protected]