Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas de Numeração Introdução Uma das primeiras exigências para se entender a eletrônica moderna aplicada à indústria, mecatrônica, eletrônica aplicada e, principalmente, à eletrônica dos computadores, é conhecer bem os princípios da eletrônica digital. Inicialmente um ramo que era apenas curiosidade, a eletrônica digital passou a ocupar um lugar de tal destaque nos últimos anos, que hoje é preciso dominá-la para entender como funcionam os circuitos equipados com processadores, computadores, equipamentos de automação industrial, equipamentos mecatrônicos e todos os periféricos de computadores. Sistemas de Numeração O homem, através dos tempos, sentiu necessidade de utilizar sistemas numéricos. Existem vários sistemas, dentre os quais se destacam o sistema decimal, o binário, o octal e o hexadecimal. O sistema decimal é utilizado por nós no dia a dia e é, sem dúvida, o mais importante dos sistemas numéricos. Os sistemas binário, octal e hexadecimal são muito importantes nas áreas de técnicas digitais e computação. No decorrer de nossos estudo, você vai perceber a ligação existente entre circuitos lógicos e esses sistemas de numeração. Estudaremos os sistemas de numeração binária, octal e hexadecimal e os métodos de conversão entre esses sistemas a partir do sistema decimal (partimos do pressuposto que o sistema decimal já é suficientemente conhecido, por fazer parte do nosso dia-a-dia). Estudaremos também os códigos gerados pelo sistema binário, destacando sua importância como linguagem de máquina. Para assimilar os conteúdos dessa lição é necessário que você já conheça perfeitamente o sistema decimal. Sistema de numeração decimal O sistema de numeração decimal utiliza dez algarismos para a sua codificação: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Assim, a base desse sistema é dez. Com esses dez algarismos, é possível representar qualquer grandeza numérica, graças a características do valor de posição. Desse modo, temos: • Números que representam as unidades: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. • Números que representam as dezenas: 10, 11, 12, 13, 14, 15,16, 17, 18, 19 – o valor da posição 1 indica uma dezena e o outro dígito, a unidade. • Números que representam as centenas: 110, 111, 112, 113, 114, 115, 116... – o valor de posição 1 indica a centena, seguido pela dezena e pela unidade. Assim, por exemplo, o número 385 indica: 1 SENAI/SP Texto Base 1 – Sistemas de Numeração centenas dezenas unidades; ou seja: ↓ ↓ ↓ 3 8 5 3 . 100 8 . 10 5 . 1 ↓ ↓ ↓ 300 + 80 + 5 = 385 O número 385 pode ser expresso também através de uma potência de base 10: 3 8 5 ↓ ↓ ↓ 3 . 100 8 . 10 5 . 1 ↓ ↓ ↓ 3 . + 8 . + 5 . Observação: a potência da base 10 indica o valor de posição do número. Sistema de numeração binário O sistema de numeração binário é empregado em circuitos lógicos digitais. Possui apenas dois algarismos: 0 e 1. Por isso, sua base é dois (dois dígitos). Cada dígito ou algarismo binário é chamado de bit (do inglês “binary digit”, ou seja dígito binário). Um bit é, pois, a menor unidade de informação nos circuitos digitais. A tabela a seguir mostra a correspondência entre números decimais e binários. Decimal Binário Decimal Binário 0 → 0 10 → 1010 1 → 1 11 → 1011 2 → 10 12 → 1100 3 → 11 13 → 1101 4 → 100 14 → 1110 5 → 101 15 → 1111 6 → 110 16 → 10000 7 → 111 - - 8 → 1000 - - 9 → 1001 - - Empregando a propriedade do valor de posição do dígito, podemos representar qualquer valor numérico com os dígitos 0 e 1. Como a base da numeração binária é 2, o valor de posição é dado pelas potências de base 2, como mostra o quadro a seguir. Potências de base 2 42 32 22 12 02 Valor de posição 16 8 4 2 1 Binário 1 0 0 1 1 O valor da posição é indicado pelo expoente da base do sistema numérico. Esse valor aumenta da 2 SENAI/SP Texto Base 1 – Sistemas de Numeração direita para a esquerda. O valor da posição do bit mais significativo (de maior valor) será a base elevada a n-1 (n = número de dígitos). Por exemplo, 101011 é um número binário de 6 bits. Ao aplicar a fórmula, temos 6 - 1 = 5. Assim, o bit mais significativo terá como valor de posição . Binário 1 0 1 0 1 1 Valor de posição 52 42 32 22 12 02 MSB LSB Observação • MSB - do inglês “most significant bit”, ou seja, bit mais significativo, pois ele comporta o maior peso na determinação do valor do número. • LSB - do inglês “least significant bit”, ou seja, bit menos significativo. A base é o elemento diferenciador entre um número do sistema binário e um do sistema decimal: 1012 base 2; - portanto, número binário; lê-se: um, zero, um. 10110 - base 10; portanto, número decimal; lê-se: cento e um. Conversão de números do sistema binário para o sistema decimal Para converter um número binário em decimal, deve-se multiplicar cada bit pelo seu valor de posição (que é indicado pala potência de base) e somar os resultados. Exemplo Na conversão de 10102 para o sistema decimal, procede-se da seguinte forma: Potência de 2 23 22 21 20 ↓ ↓ ↓ ↓ Binário 1 0 1 0 Valor de posição 1 . 8 0 . 4 1 . 2 0 . 1 ↓ ↓ ↓ ↓ No. decimal 8 + 0 + 2 + 0 = 1010 Portanto, 1010 = 1010 Exemplo Neste exemplo, converte-se 110012 em decimal. Ou seja: Potência de 2 24 23 22 21 20 ↓ ↓ ↓ ↓ ↓ Binário 1 1 0 0 1 Valor de posição 1 . 16 1 . 8 0 . 4 0 . 2 1 . 1 ↓ ↓ ↓ ↓ ↓ No. decimal 16 + 8 + 0 + 0 + 1 = 2510 3 SENAI/SP Texto Base 1 – Sistemas de Numeração Observe a seguir uma tabela das potências de base 2. Potência Decimal Potência Decimal 20 1 29 512 21 2 210 1024 22 4 211 2048 23 8 212 4096 24 16 213 8192 25 32 214 16384 26 64 215 32768 27 128 216 65536 28 256 217 131072 Conversão de números do sistema decimal para o sistema binário A conversão de números do sistema decimal para o sistema binário é realizada efetuando-se divisões sucessivas do número decimal por 2 (base do sistema binário). Exemplo 29 2 09 14 2 1 0 7 2 1 3 2 1 1 O número binário é formado pelo quociente da ultima divisão e os restos das divisões sucessivas da direita para a esquerda: 2910 = 111012. Esse é um método prático de convenção de número decimal para binário. Observação: todo número decimal par, ao ser convertido para binário, termina em zero. Por outro lado, todo número decimal ímpar ao ser convertido para binário terminará em um. Números fracionários Todo número fracionário decimal tem uma parte inteira (à esquerda da vírgula) e uma fracionária (à direita da vírgula). Exemplo: 105 ,25 parte parte inteira fracionária No exemplo dado, a parte fracionária (0,25) possui duas casas. O valor de posição da primeira casa após a vírgula corresponde aos décimos: 4 SENAI/SP Texto Base 1 – Sistemas de Numeração 0,25 = 1-10 . 2 110 2 10 2 == O valor da segunda posição após a vírgula corresponde aos centésimos: 0,25 = 10 5 100 5 2= = 5 . 10-2 Assim, o número 105,2510 tem os seguintes valores de posição: 1 0 5 2 5 1 . 102 + 0 . 101 + 5 . 100 + 2 . 10-1 + 5 . 10-2 No sistema binário, a parte fracionária é análoga ao do sistema decimal: 101 ,112 parte parte inteira fracionária O valor de posição da primeira casa da parte fracionária será: 0,11 = = 1 . 2-1 O valor de posição da segunda casa após a vírgula será: 0,11 = = 1 . 2-2 Assim os valores de posição do número 101,11 serão: 22 21 20 2-1 2-2 1 0 1, 1 1 Conversão de números binários fracionários em números decimais fracionários. Já vimos que para converter um número binário em decimal devemos multiplicá-lo pelo valor de posição da base. Observe, a seguir, o valor de posição da parte fracionária dos seguintes números: 2-1 = 2 1 2 1 1 = = 0,5 2-2 = 4 1 2 1 2 = = 0,25 2-3 =8 1 2 1 3 = = 0,125 5 SENAI/SP Texto Base 1 – Sistemas de Numeração 2-4 = 0,0625 16 1 2 1 4 == Veja a seguir o procedimento da conversão de binário fracionário em decimal fracionário. A título de exemplo, vamos converter o número 1001,012 (binário fracionário) em número decimal: 1. Faz-se a conversão da parte inteira do número (1001) Binário 1 0 0 1 Valor de posição 1 . 23 0 . 22 0 . 21 1 . 20 ↓ ↓ ↓ ↓ No. decimal 8 + 0 + 0 + 1 = 9 2. A seguir faz-se a conversão da parte fracionária (0,01) da seguinte maneira: Binário fracionário 1001 0 1 Valor da posição 0 . 2-1 1 . 2-2 ↓ ↓ 0.0,5 + 1.0,25 Decimal fracionária 0 + 0,25 = 0,25 Assim, 0,25 é a parte decimal fracionária. Portanto, o número 1001,012 eqüivale a 9,2510. Outro exemplo: Portanto, 101,1012 = 5.62510 6 SENAI/SP Texto Base 1 – Sistemas de Numeração Conversão de números decimais fracionários em números binários fracionários Como já vimos, para converter um número decimal inteiro em binário, basta dividi-lo por 2, sucessivamente. O número binário será dado pelos restos das divisões e o quociente da última divisão. Exemplo 9,252 9 2 1 4 2 0 2 2 0 1 Portanto, 910 = 10012 Para converter a parte fracionária do número, deve-se fazer o inverso, ou seja, multiplicá-la sucessivamente por 2, até que o resultado após a vírgula seja 0, ou que se obtenham oito dígitos. Assim, temos: Os algarismos à esquerda da vírgula na multiplicação constituirão os dígitos binários fracionários. Portanto, 9,2510 = 1001 → 9,2510 = 1001,012 Exemplo: Converter 23,3510 (decimal fracionário) em número binário fracionário. Conversão da parte inteira: 23 23 2 1 11 2 1 5 2 1 2 2 23 = 10111 0 1 7 SENAI/SP Texto Base 1 – Sistemas de Numeração Conversão da parte fracionário: 0,35 0,35 . 2 = 0,70 0,70 . 2 = 1,40 (considere para multiplicação apenas a parte fracionária) 0,40 . 2 = 0,80 0,80 . 2 = 1,60 0,60 . 2 = 1,20 0,20 . 2 = 0,40 0,40 . 2 = 0,80 0,80 . 2 = 1,60 Assim, 0,35 = 01011001... Portanto, 23,3510 = 10111,01011001... Observação: observe que o número 0,80 é uma repetição. Isso significa que se trata de uma dízima periódica, o que pode ser indicado por três pontinhos (...). Sistema de numeração octal O sistema de numeração octal tem a base 8. Os oito símbolos da numeração octal são: 0, 1, 2, 3, 4, 5, 6, 7. A tabela a seguir mostra a relação entre a numeração decimal e a octal. Sistemas numéricos Decimal Octal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 8 SENAI/SP Texto Base 1 – Sistemas de Numeração A base da numeração octal é 8; portanto, os valores das posições serão as potências de base 8. Observe o quadro a seguir: Potências de base 8 83 82 81 80 Valores de posição 512 64 8 1 O sistema de numeração octal é muito empregado em máquinas digitais que usam palavras de 6 bits. Conversão de números do sistema de numeração octal para o sistema decimal Sabemos que todos os sistemas de numeração apresentam o valor de posição do dígito de acordo com sua base. Desse modo, o valor da posição de um número octal corresponde ao expoente da base 8. Por isso, para converter um número octal em decimal, considera-se o seu valor de posição, multiplica-se cada algarismos do número octal pelo valor de posição e soma-se o resultado. Veja o exemplo abaixo. Conversão de 1378 para decimal: Potência → 82 81 80 ↓ ↓ ↓ No. octal → 1 3 7 Valor de posição → 1.64 3.8 7.1 ↓ ↓ ↓ No. decimal → 64 + 24 + 7 + = 9510 Portanto, 1378 = 9510 A seguir, apresentamos uma tabela das potências de base 8. Potência Decimal 80 81 82 83 84 85 86 1 8 64 512 4096 32768 262144 Conversão de números do sistema decimal para o sistema octal Para converter um número decimal em um número do sistema octal faz-se a divisão sucessiva do número decimal pela base 8. Por exemplo, para converter o número 128410 em um número octal, proceda da seguinte maneira: 9 SENAI/SP Texto Base 1 – Sistemas de Numeração 1284 8 4 160 8 0 20 8 4 2 8 2 0 Os restos das divisões por 8, lidas de baixo para cima, formam o número octal 24048 Portanto, 1284 = 2404 Conversão de números do sistema octal para o sistema binário Há uma regra prática para a conversão de números octais em binários. Ou seja, cada dígito do número octal deve ser transformado no seu correspondente binário. Lembre-se que para cada dígito octal são necessários três dígitos binários (3 bits). Isto porque o maior número do sistema octal é representado por três bits (1112 = 78). A seguir, mostramos como se faz para converter em binário o número octal 378. Dígitos octais → 3 7 Dígitos binários → 011 111 Portanto, 378 = 111112 Observação: você deve estar lembrando que o dígito zero à esquerda de 011 não é significativo; portanto, deve ser cortado. Conversão de números do sistema binário para o sistema octal Para converter um número binário em octal é preciso separar o número binário, da direita para a esquerda, em grupos de três bits e, em seguida, converter cada grupo no algarismo octal correspondente. Na conversão de 1010112 em octal, devemos proceder da seguinte maneira: no binário → 101 011 no octal → 5 3 Portanto, 1010112 = 538 Observação: deve-se acrescentar um ou dois zeros ao último grupo de bit à esquerda, a fim de completar os três algarismos do número binário a ser convertido. Por exemplo, na conversão de 10111012 e, octal, ao separar os grupos de 3 bits, teremos: Dígitos binários → 10111012 → 001 011 101 Dígitos octais → 1 3 5 Portanto, 10111012 = 1358 10 SENAI/SP Texto Base 1 – Sistemas de Numeração Sistema de numeração hexadecimal O sistema de numeração hexadecimal tem a base 16. Os dezesseis símbolos que constituem a numeração hexadecimal são os seguintes números e letras: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Emprega-se este sistema em computação e em mapeamento de memórias de máquinas digitais que utilizam palavras de 4, 8 ou 16 bits. A tabela a seguir mostra a relação entre a numeração decimal e a hexadecimal. Observe que a contagem recomeça a cada 16 dígitos. Decimal Hexadecimal Decimal Hexadecimal Decimal Hexadecimal 0 0 11 B 22 16 1 1 12 C 23 17 2 2 13 D 24 18 3 3 14 E 25 19 4 4 15 F 26 1A 5 5 16 10 27 1B 6 6 17 11 28 1C 7 7 18 12 29 1D 8 8 19 13 30 1E 9 9 20 14 31 1F 10 A 21 15 32 20 Os valores de posição da numeração hexadecimal serão as potências de base 16. Observe o quadro a seguir. Potências de base 16 163 162 161 160 Valores de posição 4096 256 16 1 Conversão de números do sistema hexadecimal para o sistema decimal A conversão de um número hexadecimal em decimal é realizada do mesmo modo como nos sistemas já estudados. Ou seja, multiplica-se cada dígito hexadecimal por seu valor de posição e somam-se os resultados. Para converter 1A816 em decimal, procede-se da seguinte forma: Potência de 16 → 162 161 160 ↓ ↓ ↓ No hexadecimal → 1 A 8 Valor de posição → 1 256 10 . 16 8 . 1 ↓ ↓ ↓ No decimal → 256 + 160 + 8 = 42410 Portanto 1A816 = 42410 11 SENAI/SP Texto Base 1 – Sistemas de Numeração Conversão de números do sistema decimal para o sistema hexadecimal Para converter um número decimal em hexadecimal, executam-se divisões sucessivas do número decimal por 16, que é a base do sistema hexadecimal. O número hexadecimal será dado pelo último quociente e pelos restos das divisões. Veja isto pelo exemplo a seguir. 12412 16 12 775 16 7 48 16 0 3 O último quociente e os restos das divisões resultarão no número hexadecimal. Contudo, em número hexadecimal não existe o número 12. Veja na tabelaque a letra C, em hexadecimal, significa o número 12 decimal. Portanto, pela convenção, obtivemos o número 307 C Onde, 1241210 = 307C16 Conversão de números do sistema hexadecimal para o sistema binário A tabela a seguir mostra a correspondência entre o código hexadecimal e o binário. Hexadecimal Binário Hexadecimal Binário 0 0000 8 1000 1 0001 9 1001 2 0010 A 1010 3 0011 B 1011 4 0100 C 1100 5 0101 D 1101 6 0110 E 1110 7 0111 F 1111 Pela tabela, é possível observar que a cada código hexadecimal correspondem quatro dígitos binários. Desse modo, para converter um número hexadecimal em número binário, basta converter cada algarismo ou letra do número hexadecimal no número binário correspondente. Este número binário terá 4 dígitos. A título de exemplo, para converter o número FACA16 em binário, basta proceder como demostramos a seguir. Dígitos hexadecimais → F A C A Dígitos binários → 1111 1010 1100 1010 Portanto, FACA16 = 11111010110010102 12 SENAI/SP Texto Base 1 – Sistemas de Numeração Veja mais este exemplo: Converter o numero 1A25 em binário. hexadecimal → 1 A 2 5 binários → 0001 1010 0010 0101 Portanto, 1A2516 = 11010001001012 Conversão de números do sistema binário para o hexadecimal Para converter um número binário em hexadecimal, basta separar o número binário, da direita para a esquerda, em grupos de quatro bits. Em seguida, converte-se cada grupo no algarismo hexadecimal correspondente. Na conversão de 10100011012 em hexadecimal, deve-se proceder da seguinte forma: Dígitos binários → → 0001 0100 1101 Hexadecimal → 1 4 13 Na numeração hexadecimal não existe o número 13; em seu lugar usa-se a letra D. Portanto, o resultado da conversão será: 1010011012 = 14D16. Códigos binários Os códigos binários utilizam os mesmos símbolos do sistema de numeração binário, ou seja, 0 e 1. O 1 e o 0 são códigos que podem representar números, letras do alfabeto e sinais de pontuação. Os códigos binários mais empregados são: • BCD 8421 • BCD-AIKEN • Johnson • ASCII BCD 8421 -- BCD significa “Decimal Codificado em Binário” (do inglês: “Binary Coded Decimal”). É um código que utiliza números binários para representar os dígitos de um número decimal. Cada grupo de quatro dígitos representa um algarismo do número decimal. Veja exemplos a seguir: Valores de posição → 8421 8421 Dígitos binários → → 0011 0111 Dígitos decimais → 3 7 Portanto, 1101112 = 3710 13 SENAI/SP Texto Base 1 – Sistemas de Numeração Outro exemplo: Bits → → 1000 0010 0101 Dígitos decimais → 8 2 5 Assim, 1000001001012 = 82510 O código BCD é um código ponderado. O bit mais significativo tem peso 8 e o menos significativo, peso 1. Tal código é mais conhecido como BCD 8421. Os algarismos 8421 significam o valor de posição ou peso de cada dígito do código de quatro bits. Observe a seguir a tabela do código BCD 8421. Decimal BCD8421 0 1 2 3 4 5 6 7 8 9 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 BCD-AIKEN – Esse código representa os dígitos dos números decimais. Cada dígito decimal é representado por um grupo de quatro bits, cujos pesos ou valores de posição dos bits são: 2, 4, 2 e 1. Veja tabela abaixo. Decimal BCD-AIKEN2421 0 1 2 3 4 5 6 7 8 9 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111 14 SENAI/SP Texto Base 1 – Sistemas de Numeração Os exemplos abaixo mostram como os números decimais são representados no código BCD- AIKEN. Dígitos decimais → 3 7 → Dígitos binários 0011 1101 Valores de posição 2421 2421 Portanto, 3710 = 1111012 8 2 5 1110 0010 1011 2421 2421 2421 Assim, 82510 = 1110001010112 Johnson – O código Johnson, como o código BCD, utiliza grupos de números binários para representar números decimais. Esses grupos são formados por cinco bits. Veja tabela a seguir. Decimal Johnson 0 1 2 3 4 5 6 7 8 9 00000 00001 00011 00111 01111 11111 11110 11100 11000 10000 Por esse código o número decimal é assim representado: 3 7 00111 11100 Portanto, 3710 = 00111111002 Observação: neste código não são utilizados valores de posição. É um código progressivo, ou seja, as numerações adjacentes (um número em relação ao seu anterior ou posterior) diferem somente de um bit. ASCII – ASCII significa “Código-padrão americano para intercâmbio de informações” (do inglês: “American Standard Code for Information Interchange”). Este código padroniza a representação de símbolos gráficos (caracteres) e sinais de controle, o que possibilita a comunicação entre diferentes equipamentos. É utilizado em teletipos, dispositivos de controle numérico e em outros equipamentos industriais. É um código de sete bits que, combinados, representam 128 estados. Um oitavo bit pode ser usado, não para representar uma informação, mas para possibilitar a 15 SENAI/SP Texto Base 1 – Sistemas de Numeração checagem de erros de paridade. A tabela abaixo mostra a estrutura para a formação do código ASCII. Bit mais significativo (MSB) b7 b6 b5 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 b4 b3 b2 b1 Controles Caracteres 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 NUL SOH SIX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US SP ! “ # $ % & ‘ ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 ! ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ - . a b c d e f g h i j k l m n o p q r s t u v w x y z : ~ DEL Para entender a composição do código ASCII, localize na tabela dos “caracteres” o símbolo 2, por exemplo. Os bits que representarão o caractere 2 são: 011 0010, que vêm a ser a combinação de: 011 = bit mais significativo (MSB), em cuja coluna o número 2 está situado; 0010 = bit menos significativo (LSB), em cuja linha o número 2 está situado. Do mesmo modo, o caractere C será representado por 100 0011. Ou seja: • 100 = bit mais significativo (MSB); • 0011 = bit menos significativo (LSB). 16 SENAI/SP Texto Base 1 – Sistemas de Numeração Sistemas de Numeração Introdução Sistemas de Numeração
Compartilhar