Módulo1-Sistemas de Numeração-30h

12
Técnico de Gestão de Equipamentos Informáticos Módulo 1 “Sistemas de Numeração” Sistemas Digitais e Arquitetura de Computadores

Transcript of Módulo1-Sistemas de Numeração-30h

Page 1: Módulo1-Sistemas de Numeração-30h

Técnico de Gestão de Equipamentos

Informáticos

Módulo 1

“Sistemas de Numeração”

Sistemas Digitais e Arquitetura de Computadores

Page 2: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 2

OBJETIVOS: 1. Conhecer a estrutura de um Sistema de Numeração e os principais Sistemas de

Numeração 2. Efectuar a conversão de números entre os vários sistemas de numeração. 3. Efectuar operações aritméticas (adição e subtracção) em qualquer base de numeração. 4. Representar números relativos (positivos e negativos) em código de complementos.

CONTEÚDOS: 1. Estrutura de um Sistema de Numeração. Noção de símbolo e noção de número como

uma sequência de símbolos, onde os símbolos têm significância posicional.

2. Fórmula geral de significância posicional num sistema de base. 3. Principais Sistemas de Numeração utilizados: binário, octal, hexadecimal. 4. Conversão de números representados em qualquer base, para a base decimal, usando

a fórmula geral de significância posicional. 5. Conversão de números em decimal para outras bases de numeração através do

método das divisões sucessivas. 6. A importância da base binária como um sistema de numeração com dois símbolos 0 e

1, de fácil manipulação no contexto da arquitectura de um computador. 7. Operações aritméticas (adição e subtracção) em qualquer base (base binária em

particular). 8. Representação de números relativos (positivos e negativos), usando código de

complementos. Adição e subtracção de números em código de complementos.

SISTEMAS DE NUMERAÇÃO INTRODUÇÃO Existem vários sistemas de numeração e são utilizados nos mais variados ramos de actividade. Neste módulo vamos estudar os sistemas de numeração decimal, binário, octal e hexadecimal.

SISTEMA DECIMAL O sistema de numeração que usamos no nosso dia-a-dia é o sistema de numeração decimal ou de base dez (a base está relacionada com o número de algarismos utilizados), ou seja, a base dez utiliza dez algarismos (0, 1, 2, …, 9). Isto não acontece por acaso, utilizamos 10 dígitos porque temos 10 dedos (em latim a palavra dígito significa dedo). No sistema decimal os números inteiros são representados pela soma das suas unidades, dezenas, centenas, etc. 123 = 1x100 + 2x10 + 3x1 = 100 + 20 + 3 = 123 É o mesmo que dizer que um número na base dez é representado pela soma de várias potências de dez com coeficientes de 0 a 9. Representar um decimal inteiro

123(10) = 1x102 + 2x101 + 3x100

= 1x100 + 2x10 +3x1

= 100 + 20+ 3 = 123(10)

Page 3: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 3

SISTEMA BINÁRIO Os computadores são formados por circuitos digitais, logo a informação e os dados são codificados em zeros e uns (linguagem máquina). O bit é a unidade mínima de informação com que os sistemas informáticos trabalham. Bit – binary digit (0 e 1) O sistema de numeração binária utiliza combinações dos dígitos 0 e 1. Os mais frequentes são os múltiplos de 8 bits: 8, 16, 32, etc. Múltiplos do byte: Byte (B) 1 Byte = 8 bits = 256 combinações possíveis Kilobyte (KB) 1KB = 1024 Bytes Megabyte (MB) 1MB = 1024 KB = 1.048.576 Bytes Gigabyte (GB) 1GB = 1024 MB = 1.073.741.824 Bytes Terabyte (TB) 1TB = 1024 GB = 1.099.511.627.776 Bytes

No sistema binário, para determinar o número de combinações com n bits, basta calcular 2n. 1 bit 21 = 2 combinações possíveis (0 e 1) 2 bit 22 = 4 combinações possíveis (00, 01, 10, 11) 3 bit 23 = 8 combinações possíveis (000, 001, 010, …, 111) 4 bit 24 = 16 combinações possíveis (…) … Conversão Binário Decimal

Um número converte-se da base 2 para a base 10 através da soma das várias potências de 2, multiplicadas pelos respectivos coeficientes.

10110(2)= 1x24 + 0x23 + 1x22 + 1x21 + 0x20

= 1x16 + 0x8 + 1x4 + 1x2 + 0x1

= 16 + 4 + 2 = 22(10)

Nota:

Se o algarismo é “0”, o seu produto com o respectivo peso é sempre zero.

Se o bit é “1”, o seu produto com o respectivo peso é o próprio peso. Tendo em atenção estas propriedades:

10110(2)= 1x24 + 0 + 1x22 + 1x21 + 0

= 1x16 + 1x4 + 1x2

= 16 + 4 + 2 = 22(10)

Page 4: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 4

SISTEMA OCTAL

Na base octal, cada dígito equivale a um número binário com 3 dígitos. 1112 = 8 = 23 A base octal utiliza oito algarismos (1, 2, 3, …, 7). Esta base é utilizada por

exemplo nos relógios digitais. 80 = 1 83 = 512 81 = 8 84 = 4096 82 = 64 85 = 32768

… Conversão Octal Decimal

1047(8) = 1x83 + 0x82 + 4x81 + 7x80

= 1x512 + 0x64 + 4x8 + 7x1

= 512 + 0 + 32 + 7 = 551(10)

SISTEMA HEXADECIMAL A base hexadecimal tem mais vantagens do que a octal, pois representa números com grande quantidade de bits, numa forma mais simples e reduzida, e também se conseguem representar letras com a base hexadecimal. Como esta base é formada por 16 elementos e como a base decimal só possui 10 elementos, os restantes 6 elementos são representados pelas 6 primeiras letras do alfabeto. 160 = 1 A = 10 161 = 16 B = 11 162 = 256 C = 12 163 = 4096 D = 13 164 = 65536 E = 14 F = 15 Conversão Hexadecimal Decimal

9D36(16)= 9x163 + Dx162 + 3x161 + 6x160

= 9x4096 + 13x256 + 3x16 + 6x1

= 36864 + 3328 + 48 + 6 = 40246(10)

Page 5: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 5

RELAÇÃO ENTRE BASES DE NUMERAÇÃO

DECIMAL BINÁRIA OCTAL HEXADECIMAL 0 0000 0 0

1 0001 1 1

2 0010 2 2

3 0011 3 3

4 0100 4 4

5 0101 5 5

6 0110 6 6

7 0111 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

BINÁRIA

DECIMAL

OCTAL HEXADECIMAL

Page 6: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 6

CONVERSÃO DECIMAL BINÁRIO

Um número inteiro converte-se da base 10 para a base 2 utilizando o método das divisões sucessivas. Divide-se o número decimal por 2 e os sucessivos quocientes que forem sendo obtidos dividem-se novamente por 2 até o último quociente ser 0 ou 1.

CONVERSÃO DECIMAL OCTAL

Tal como na conversão de números decimais para binário, a conversão para o sistema de numeração octal efectua-se de modo sistemático pelo método das divisões sucessivas, neste caso por 8.

CONVERSÃO DECIMAL HEXADECIMAL

Utiliza-se a mesma técnica descrita anteriormente, só que neste caso, em vez de 2 ou 8, utiliza-se o 16.

Page 7: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 7

CONVERSÃO BINÁRIA OCTAL

Cada dígito octal pode ser representado por um número binário de 3 bits 23 = 8. Na conversão de um número octal para binário substitui-se cada dígito pelo correspondente grupo de 3 bits.

Na conversão de um número binário para octal divide-se o número binário em grupos de 3 bits, e converte-se cada grupo no seu equivalente octal.

CONVERSÃO BINÁRIA HEXADECIMAL

Cada dígito hexadecimal pode ser representado por um número binário de 4 bits 24 = 16.

Na conversão de um número hexadecimal para binário substitui-se cada dígito pelo correspondente grupo de 4 bits.

Na conversão de um número binário para hexadecimal divide-se o número binário em grupos de 4 bits, e converte-se cada grupo no seu equivalente hexadecimal.

CONVERSÃO OCTAL HEXADECIMAL

Page 8: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 8

OPERAÇÕES ARITMÉTICAS NA BASE BINÁRIA Já sabemos como o computador consegue entender um número decimal ou uma letra, mas ainda não vimos como ele realiza operações aritméticas elementares. Vamos analisar como se realizam as operações de adição, subtracção, multiplicação e divisão. Adição Uma operação de adição, no sistema binário, resume-se à resolução de cinco simples operações:

Então, se já sabemos calcular operações simples, já podemos fazer qualquer

tipo de adição no sistema binário.

1 0 0 1 1 0 = 32 + 0 + 0 + 4 + 2 + 0 = 38

+ 0 1 0 1 1 0 = 0 + 16 + 0 + 4 + 2 + 0 = 22

1 1

1 1 1 1 0 0 = 32 + 16 + 8 + 4 + 0 + 0 = 60

Subtracção

A operação de subtracção, no sistema binário, resume-se à resolução de quatro simples operações:

Então, se já sabemos calcular operações simples, já podemos fazer qualquer

tipo de subtracção no sistema binário. 1 1 0 0 1 = 16 + 8 + 0 + 0 + 1 = 25 – 0 1 0 1 1 = 0 + 8 + 0 + 2 + 1 = 11

1

1

1

0 1 1 1 0 = 0 + 8 + 4 + 2 + 0 = 14

Vejamos outro exemplo: 1 1 0 0 1 0 = 32 + 16 + 0 + 0 + 2 + 0 = 50 – 1 0 1 1 0 1 = 32 + 0 + 8 + 4 + 0 + 1 = 45

1

1 1

0 0 0 1 0 1 = 0 + 0 + 0 + 4 + 0 + 1 = 5

0 – 0 = 0 0 – 1 = 1 e vai 1 (transporte) 1 – 0 = 1 1 – 1 = 0

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 e vai 1 (transporte)

1 + 1 + 1 = 1 e vai 1 (transporte)

Page 9: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 9

Multiplicação por múltiplos de 2

Para o computador realizar o produto de um número binário por 2, basta acrescentar um zero à direita do bit menos significativo. Por exemplo, para determinar o produto de 111001(2), por 2, acrescenta-se um zero à direita do dígito menos significativo e deslocam-se os restantes bits um dígito para a esquerda.

111001(2) X 2(10) = 1110010(2)

57(10) X 2(10) = 114(10)

Por exemplo, multiplicar o número 110010(2) por 8(10), vamos colocar 3 zeros à direita do bit menos significativo, o que dá 110010000(2).

110010(2) = 50(10)

110010000(2) = 400(10)

Divisão por múltiplos de 2

A divisão por dois no sistema binário segue um procedimento inverso ao da multiplicação; em vez de se acrescentar um zero à direita, coloca-se um zero à esquerda (digito mais significativo).

10110010(2) = 178(10) sai fora

Acrescenta-se um zero à esquerda e o dígito menos significativo é colocado fora, ou seja: 01011001(2) = 89(10)

Conferindo: 178(10) / 2(10) = 89(10) Para realizarmos a divisão por múltiplos de 2, basta adicionar o número de zeros correspondentes, à esquerda e desprezar o mesmo número de dígitos à direita.

Se o número for ímpar, por este processo perde-se o resto da divisão.

Page 10: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 10

REPRESENTAÇÃO DE NÚMEROS NEGATIVOS Representação de Números em Sinal e Módulo Nos computadores digitais, os números binários são armazenados em registos, em que cada um tem a capacidade de armazenar um bit. Assim, um registo de 5 bits tem a possibilidade de armazenar números binários desde 0000 até 11111 (0 a 31, no sistema de numeração decimal), cujo valor representa o módulo (grandeza) do número. Dado que os números a manusear podem ser tanto positivos como negativos é necessário encontrar um processo de indicar o respectivo sinal. Na representação de números em sinal e módulo introduz-se um novo bit, denominado por bit de sinal, que toma o valor 0 se o número for positivo e o valor 1 se o número for negativo. Representação de Números em Complemento para 1 O complemento para 1 de um número obtém-se trocando, na sua representação binária, todos os 0s por 1s e vice-versa. Dado que esta é uma notação de sinal e grandeza, os números positivos têm como MSB um 0, enquanto que os negativos têm como MSB um 1. Representação de números em complemento para 2

Partindo do complemento para um de um número, podemos obter o seu complemento para dois adicionando-lhe uma unidade. Do mesmo modo que na representação em complemento para um se o MSB for um 0 trata-se de um número positivo, caso contrário é um número negativo.

Regra prática: 1) Representar o número pretendido em binário; 2) Acrescentar 0s à esquerda do número até obter o número de bits pretendido; 3) Rescrever o número, repetindo-o da direita para a esquerda até encontrar o primeiro 1. A partir desse 1, exclusive, trocam-se todos os 1s por 0s e vice-versa.

Nota: Apesar do processo de representação de números em sinal mais módulo ser relativamente simples, não é utilizado em calculadoras e outros sistemas digitais visto a sua implementação ser algo complexa. Um dos métodos mais utilizados é a representação em complemento para 2.

Page 11: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 11

CONVERSÃO COM NÚMEROS FRACIONÁRIOS

Discutiram-se, até o momento, as diversas formas de conversão de números inteiros, pertencentes a um dado sistema, em outro. Neste tópico, serão mostrados os procedimentos para converter números fracionários. Binários Decimais

O método de conversão é obtido observando-se a regra básica de formação de um número fracionário no sistema decimal. Para exemplificar, tem-se o número 10,510. Desta forma, para converter o número binário fracionário 101,101 para o sistema decimal, adota-se o mesmo procedimento.

Decimais Binários

O processo consiste em separar o número decimal na parte inteira e na fracionária.

O método das divisões sucessivas é aplicado a parte inteira, conforme estudado anteriormente.

Para a parte fracionária aplica-se o método das multiplicações sucessivas até que se atinja zero.

Para exemplificar, será convertido o número decimal 8,375 em binário.

8,375 = 8 + 0,375

Parte inteira: 810 = 10002

Parte Fracionária: 0,37510 = 0,0112

Pode-se observar que é utilizado somente a parte fracionária dos números em todas as multiplicações. Os algarismos inteiros, resultantes das multiplicações, irão compor o número binário. Estes números são tomados na ordem da multiplicação. Para completar a conversão basta efetuar a composição da parte interia com a fracionária:

8,37510 = 1000+0,011 = 1000,0112 Observação Importante: existem casos em que o método das multiplicações sucessivas encontra novamente os números já multiplicados e o processo entra num ciclo infinito. Isto equivale a uma dízima periódica. Como exemplo, tem-se:

0,810 = (0,10 10 10)2

Page 12: Módulo1-Sistemas de Numeração-30h

Módulo 1 – Sistemas de Numeração

Sistemas Digitais e Arquitectura de Computadores 12

Decimal Octal

É utilizado para converter uma fração decimal para o sistema octal. Multiplica-se a fração decimal por 8, obtendo-se na parte inteira do resultado o primeiro dígito da fração octal resultante. O processo é repetido sucessivamente com a parte fracionária do resultado para obter os dígitos seguintes e termina quando a parte fracionária é nula ou inferior à medida de erro especificada. Exemplo: Converter a fração decimal 0,140625 em octal.

0,140625 x 8 = 1,125 0,125 x 8 = 1,0

Combinamos os dois métodos anteriores podemos converter para octal números decimais com parte inteira e fracionária.