sd módulo 1

12
Sebenta Sistemas Digitais Módulo 1 – Sistemas deNumeração Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

Upload: agostinho-m-martins-reis

Post on 03-Dec-2015

228 views

Category:

Documents


0 download

DESCRIPTION

Sistemas digitais

TRANSCRIPT

Page 1: SD Módulo 1

Sebenta Sistemas Digitais

Módulo 1 – Sistemas deNumeração

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

Page 2: SD Módulo 1

LISTAGEM DAS REVISÕES

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

CAP FOLHA DESIGNAÇÃO DATA OBS.

Page 3: SD Módulo 1

Sistemas de numeração

Os sistemas de numeração aqui estudados têm como objectivo simplificar a conversão entre a linguagem utilizada pelos processadores e linguagens de programação (Binário/Hexadecimal) para uma linguagem mais habitual (decimal). Como vamos observar ao longo deste capítulo existem vários métodos que podemos utilizar assim de modo a conseguirmos converter qualquer código conhecido em decimal.

Decimal

O sistema decimal é aquele que todos começamos a utilizar desde que aprendemos a contar desde sempre, como é de conhecimento de todos (ou pelo menos assim espero...) é composto por dez algarismos, daí o nome decimal.

Os algarismos são: 0,1,2,3,4,5,6,7,8,9.

Assim temos que 0 representa nenhuma unidade, o 1 uma unidade, o 2 duas unidades e assim sucessivamente, ou seja os símbolos são a representações abstractas de uma determinada quantidade, podendo depois estas ter uma correspondência com uma grandeza física qualquer (Ex: metro, litro, etc…).

A quantidade de símbolos utilizados de um sistema de numeração determina a base do mesmo, ou seja, como no decimal temos dês algarismos podemos dizer que é um sistema de numeração de base 10.

Qualquer número decimal é representado através destes algarismos, tendo em conta a sua posição no número representado, por exemplo:

1345 = 1000 + 300 + 40 +5

Assim podemos calcular o valor de qualquer número utilizando a seguinte expressão:

N=an10n+an−110

n−1+. .. .+a2102+a110

1+a0+a−110−1+. ..+a−n10

−n

Exemplo:

1252 ,5=1×103+2×102+5×101+2 x100+5×10−1=1×1000+2×100+5×10+2×1+5×0,1

BinárioO sistema binário é o sistema utilizado para efectuar todas as complexas operações de um microprocessador, assim como é o utilizado para desenhar todo o tipo de circuitos de electrónica digital, como vamos observar no capítulo de electrónica digital do manual. O binário, conforme o próprio nome indica apenas tem dois algarismos sendo eles o 0 e o 1. Como a grande maioria dos circuitos eléctricos apenas têm dois estados (ligado/desligado), conseguimos já a partida ver porque é que se utiliza este tipo de código para o desenho de circuitos.Na tabela seguinte podemos verificar a relação entre os algarismos binários e decimais. Aos dígitos binários também podemos chamar de bit’s.

Decimal Binário

0 01 12 103 114 1005 1016 1107 1118 10009 100110 1010

Assim temos como equação desta linguagem o seguinte

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

Page 4: SD Módulo 1

N=an2n+an−12

n−1+.. . .+a222+a12

1+a0

Conversões de binário para decimal

Para obtermos a conversão de qualquer valor binário para decimal devemos utilizar a equação desta linguagem de modo a obtermos o valor pretendido. Então deveremos efectuar os seguintes passos:

1. Atribuir os índices a cada um dos dígitos representados:

15

04

13

02

11

10

2. Efectuar o cálculo do valor através da equação:

N=1×25+0×24+1×23+0×22+1×21+1×20=1×32+0+1×8+0+1×2+1×1=43

Qualquer número binário poderá ser calculado pelo método anterior.

Conversões de decimal para binário

Para converter um número decimal para qualquer número binário, basta dividir o número pela base do sistema para o qual o queremos converter, de seguida tornamos a dividir o resultado da divisão anterior até não podermos dividir mais nenhuma vez.

Exemplo:

35 21 17 2

1 8 20 4 2

0 2 20 1

De seguida apenas temos que ler os restos e o resulta da última operação da direita para esquerda:

Exemplo:

35 21 17 2

1 8 20 4 2

0 2 20 1

N = 100011

Operações com binários

Assim como nos decimais, também podemos operar dois ou mais numero binários através dos operadores algébricos +-/*, as regras que utilizamos para os decimais aplicam-se também a qualquer um dos outros sistemas incluindo o binário.

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

Page 5: SD Módulo 1

Soma

A soma efectua-se exactamente como nos decimais temos apenas que ter o cuidado que 1+1 não é 2 mas sim 10.

Exemplo1: 00101+11011

1 1 10 0 1 0 1

+ 1 0 0 1 11 1 0 0 0

Exemplo2: 110+1101+11

1 1 11 1 0

1 1 0 1+ 1 1

1 0 1 1 0

Subtracção

A subtracção efectua-se como uma subtracção decimal tendo o cuidado de quando temos uma parcela, na qual temos 0-1 deveremos acrescentar um 1 na parcela seguinte.

Exemplo1: 1110-0011

1 1 1 0

- 00

+11

+11

1 0 1 1

Exemplo2: 111-011

1 1 1- 0 1 1

1 0 0

Multiplicação

A multiplicação efectua-se da mesma forma que a multiplicação decimal, recorrendo depois ao que já sabemos da soma com binários

Exemplo1: 110*11

1 1 0X 1 11 1 0

+ 1 1 01 0 0 1 0

Exemplo2: 1101*101

1 1 0 1x 1 0 11 1 0 1

0 0 0 0+ 1 1 0 11 0 0 0 0 0 1

Divisão

A divisão consegue-se aplicando o que já sabemos das outras operações, ou seja da multiplicação e da subtracção de binários.

Exemplo:

1 1 0 0 1 01 0 1 1 0

0 0

Octal

O sistema octal já não é muito utilizado, este sistema era utilizado para representar um byte, ou seja uma sequencia de 8 bit’s, de um modo mais fácil, conforme o próprio nome indica este sistema de numeração tem apenas 8 algarismos sendo estes representados por:0,1,2,3,4,5,6,7

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

Page 6: SD Módulo 1

Obtemos então a seguinte tabela de conversão:

Decimal Octal

0 01 12 23 34 45 56 67 78 109 1110 12

Assim temos também a seguinte equação geral:

N=an8n+an−18

n−1+. . ..+a282+a18

1+a0

Conversão de octal para decimal

Conforme já tínhamos observado nos sistemas de numeração binária, podemos calcular o valor em decimal de um octal através da sua equação geral, então deveremos seguir os passos seguintes:

1. Atribuir os índices a cada um dos dígitos representados:

12

71

20

2. Efectuar o cálculo do valor através da equação:

N=1×82+7×81+2×80=1×64+7×8+8×1=122

Conversão de decimal para octal

De modo a convertermos um qualquer valor decimal para um octal, devemos, como já observado nos binários, dividir o valor decimal por 8 (base do sistema) sucessivamente até obter o valor que procuramos.

Exemplo:

122 82 15 8

7 1

De seguida apenas temos que ler os restos e o resulta da última operação da direita para esquerda:

Exemplo:

122 82 15 8

7 1

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

Page 7: SD Módulo 1

N = 172

Operações em octal

Assim como os binários também podemos executar qualquer tipo de operações algébricas com este tipo de numeração, mais uma vez tendo apenas que ter em atenção que a os nossos algarismos terminam em 7 e não no 9.

Soma

A soma efectua-se exactamente como nos decimais temos apenas que ter o cuidado que 1+7 não são 8 mas sim 10.

Exemplo1: 101+107

1 0 7+ 1 0 1

2 1 0

Exemplo2: 17+115+26

21 7

1 1 5+ 2 6

1 6 2

Subtracção

A subtracção efectua-se como uma subtracção decimal tendo em atenção que 10-1 não são 9 mas sim 7

Exemplo1: 126-75

1 2 6- (+1) 7 5

0 3 1

Exemplo2: 16-7

1 6- (+1) 7

0 7

Multiplicação

A multiplicação efectua-se da mesma forma que a multiplicação decimal, recorrendo depois ao que já sabemos da soma com octais.

Exemplo1: 172*12

1 7 2X 1 23 6 4

+ 1 7 22 3 0 4

Exemplo2: 1200*152

1 2 0 0x 1 5 22 4 0 0

6 2 0 0+ 1 2 0 0

2 1 4 4 0 0

Divisão

A divisão consegue-se aplicando a multiplicação e a subtracção de octais

Exemplo:

1 2 3 2 1 1

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

Page 8: SD Módulo 1

1 3 1 1 22 2

0

Hexadecimal

A linguagem Hexadecimal é muito utilizada na informática representa uma string de 16 bit’s em binário e é utilizada, por exemplo, na comunicação directa com o processador (Ex: Assembler). O Hexadecimal é composto por 16 algarismos, ou seja é um sistema de numeração de base 16. Os algarismos são:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.

Obtemos então a seguinte tabela de conversão:

Decimal Hexadecimal

0 01 12 23 34 45 56 67 78 89 910 A11 B12 C13 D14 E15 F

A equação geral é a seguinte:

N=an16n+an−116

n−1+. . ..+a2162+a116

1+a0Conversão de Hexadecimal para decimal

Conforme já tínhamos observado nos sistemas de numeração binária, podemos calcular o valor em decimal de um hexadecimal através da sua equação geral, então deveremos seguir os passos seguintes:

1. Atribuir os índices a cada um dos dígitos representados:

12

A1

20

2. Efectuar o cálculo do valor através da equação:

N=1×162+10×161+2×160=1×256+10×16+2×1=418

Como podemos observar pelo calculo anterior antes de poder calcular o valor temos que converter a letra no respectivo valor, tarefa que pode ser feita através da tabela de conversões de decimal para hexadecimal.

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

Page 9: SD Módulo 1

Conversão de decimal para hexadecimal

De modo a convertermos um qualquer valor decimal para um octal, devemos, como já observado nos binários, dividir o valor decimal por 16 (base do sistema) sucessivamente até obter o valor que procuramos.

Exemplo:

122 1610 7

De seguida apenas temos que ler os restos e o resulta da última operação da direita para esquerda:

Neste caso o resultado seria 7A, pois o resto 10 equivale à letra A

Quadros Resumo

Decimal Binário Octal Hexadecimal BCD

0 0 0 0 0000 0000 00001 1 1 1 0000 0000 00012 10 2 2 0000 0000 00103 11 3 3 0000 0000 00114 100 4 4 0000 0000 01005 101 5 5 0000 0000 01016 110 6 6 0000 0000 01107 111 7 7 0000 0000 01118 1000 10 8 0000 0000 10009 1001 11 9 0000 0000 100110 1010 12 A 0000 0001 000011 1011 13 B 0000 0001 000112 1100 14 C 0000 0001 001013 1101 15 D 0000 0001 001114 1110 16 E 0000 0001 010015 1111 17 F 0000 0001 0101

Equações gerais

Decimal N=an10n+an−110

n−1+. .. .+a2102+a110

1+a0Binário N=an2

n+an−12n−1+.. . .+a22

2+a121+a0

Octal N=an8n+an−18

n−1+. . ..+a282+a18

1+a0Hexadecimal N=an16

n+an−116n−1+. . ..+a216

2+a1161+a0

  X = 2 X = 8 X = 16X^0 1 1 1X^1 2 8 16X^2 4 64 256X^3 8 512 4096X^4 16 4096 65536X^5 32 32768 1048576X^6 64 262144 16777216X^7 128 2097152 268435456

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

Page 10: SD Módulo 1

X^8 256 16777216 4294967296X^9 512 134217728 68719476736X^10 1024 1073741824 1099511627776

Conversões Directas

Devido às bases da numeração terem uma correspondência directa em termos de base, por exemplo 2 – binário, 23=8 Octal, 24=16 Hexadecimal podemos efectuar a conversão directa entre sistemas.

Converter de binário para octal

Para converter de binário para octal fazemos o seguinte:

Dividimos o número em grupos de 3, mas iniciando da direita para a esquerda.

11101110111 = 11.101.110.111

De seguida convertemos todos os grupos de três para o respectivo octal, através da tabela.

11.101.110.111 = 3.5.6.7

O número desejado é o 3567

Converter de octal para binário

A operação contrária será efectuada de forma semelhante, basta na tabela fazer a equivalência entre o octal e o binário tendo em atenção que todos os numero devem ter 3 dígitos ex: 2 – 10 para a 010.

12574 = 001.010.101.111.100

O número equivalente será

1010101111100

Converter de binário para hexadecimal

Para converter de binário para hexadecimal fazemos o seguinte:

Dividimos o número em grupos de 4, mas iniciando da direita para a esquerda.

11101111011 = 111.0111.1011

De seguida convertemos todos os grupos de três para o respectivo octal, através da tabela.

111.0111.1011 = 77B

O número desejado é o 77B

Converter de hexadecimal para binário

A operação contrária será efectuada de forma semelhante, basta na tabela fazer a equivalência entre o octal e o binário tendo em atenção que todos os números devem ter 4 dígitos ex: 2 – 10 para a 0010.

AF1 = 1010.1111.0001

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012

Page 11: SD Módulo 1

O número equivalente será

101011110001

Nota: Podemos converter de Hexadecimal para Octal e vice-versa, com este método, passando primeiro o número para binário e depois para o sistema pretendido.

Criado por: Departamento Pedagógico - IEDP (ENSINO ROFISSIONAL) Edição n.º 1 de Setembro 2012