SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Unidade Curricular: Organização de Computadores Professor: Carlos Vinícius Rasch Alves Entendendo o que são Sistemas de Numeração A partir do momento que o homem sentiu a necessidade de registrar as informações sobre quantidades, foi necessário criar métodos para representá-las. Esses métodos são os sistemas de numeração, que têm o objetivo de, através de símbolos e convenções, representar, registrar as informações quantitativas e processá-las. Os símbolos e convenções são o que costumamos chamar de algarismos. A adequada composição desses algarismos formará os números. Serão esses números que farão a representação das quantidades. Historicamente, vários sistemas de numeração foram inventados. Os egípcios, na antiguidade, criaram um sistema em que usavam um símbolo diferente para representar a unidade, a dezena, a centena, o milhar e assim por diante. Por exemplo, admitindo-se que os símbolos utilizados fossem, “a” para a unidade, “b” para a dezena e “c” para a centena, o número 234 seria representado por “aaaabbbcc” (ou seja, 1+1+1+1+10+10+10+100+100). Os romanos, por sua vez, tinham outro sistema de numeração, onde os símbolos representavam certas quantidades: I (valendo 1), V (valendo 5), X (valendo 10), L (valendo 50), C (valendo 100), D (valendo 500) e M (valendo 1000). Para compor os números, certas regras indicavam que cada símbolo poderia ser repetido até três vezes e que símbolos que representassem quantidades menores que sucedessem os que representassem quantidades maiores deveriam ser somados; se acontecesse o inverso (menor antes que o maior) seriam subtraídos. Assim, a quantidade 238 seria representada por CCXXXVIII = 100+100+10+10+10+5+1+1+1. Por outro lado, a quantidade 44 seria representada por XLIV = (-10+50) + (-1+5). Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Nesses sistemas de numeração, o posicionamento dos símbolos na representação das quantidades não era importante, pois cada símbolo tinha um valor intrínseco. Eram os chamados sistemas numéricos não-posicionais. A maior dificuldade de um sistema numérico não-posicional era a realização de operações e foi justamente para facilitar a realização de operações matemáticas que foram criados sistemas onde a posição dos algarismos altera o valor do número. Esses são os sistemas de numeração posicionais, onde o valor representado pelo algarismo depende da posição em que ele aparece na representação do número. O método que usamos normalmente usa um sistema de numeração posicional, é o sistema decimal, no qual são baseados os números que usamos no nosso dia-a-dia. Todos os números do sistema numérico decimal usam uma combinação de 10 algarismos (0, 1, 2, 3, 4, 5, 6, 7, 8,9) e é justamente por usar 10 algarismos que se chama decimal. Também, por usar uma combinação de 10 algarismos, podemos dizer que é um sistema numérico de base 10. A base de um sistema de numeração é a quantidade de algarismos disponível na representação. A mais usualmente empregada é a base 10, mas não é a única utilizada. A linguagem de computadores utiliza a base 2 (sistema binário) e na computação também são usadas base 8 (sistema octal) e base 16 (sistema hexadecimal). No sistema binário (base 2) utilizamos apenas dois algarismos (0,1); no sistema octal (base 8), oito algarismos (0, 1, 2, 3, 4, 5, 6, 7) e no sistema hexadecimal (base 16) utilizamos, além dos 10 algarismos já conhecidos, os símbolos A, B, C, D, E, F para representar respectivamente 10, 11, 12, 13, 14, 15 unidades. Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Concluindo, podemos dizer que quando compramos uma dúzia de bananas ou uma grosa (12 dúzias) de parafusos, estamos utilizando um sistema de numeração base 12. Quando marcamos o tempo em minutos e segundos, o sistema numérico utilizado é base 60. Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Como Funciona o Sistema de Numeração Decimal Os números que usamos normalmente no nosso dia-a-dia são baseados no sistema de numeração decimal. Como vimos no artigo “Entendendo o que são Sistemas de Numeração”, o sistema numérico decimal baseia-se em dez símbolos diferentes e é exatamente por isso que se chama decimal. Por isso também, é um sistema de base 10 onde contamos os elementos (unidades) em grupos de dez. Os símbolos que usamos para compor os números do sistema decimal são os algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Todos os números desse sistema são escritos usando-se uma combinação desses dez algarismos e utilizando-se determinadas regras: 1-) Quando temos menos de dez unidades, representamos o número por um só algarismo. Exemplo: 6 = seis unidades = seis. 2-) Quando temos mais de nove unidades e menos de cem, representamos o número por dois algarismos: o primeiro (à esquerda) indica quantas são as dezenas e o segundo (à direita) indica quantas são as unidades simples. Exemplo: 66 = 6 dezenas e 6 unidades = sessenta e seis.. 3-) Quando temos mais de noventa e nove unidades e menos de mil, representamos por três algarismos: o primeiro é o das centenas, o segundo é o das dezenas e o terceiro é o das unidades simples. Exemplo: 666 = 6 centenas, 6 dezenas e 6 unidades = seiscentos e sessenta e seis. O sistema decimal é um sistema de numeração posicional, ou seja, dependendo de sua posição no número, o algarismo tem um valor diferente. Dizemos que cada algarismo ocupa uma ordem (ou casa) no numeral. 4-) A partir de mil unidades, os números são indicados por quatro ou mais algarismos. Neste caso, os algarismos serão separados, da direita para a esquerda, em classes de três ordens: Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Depois da classe dos milhões vem a dos bilhões, depois a dos trilhões, a dos quatrilhões, a dos quintilhões, e assim por diante. Cada classe tem três ordens: a das centenas, a das dezenas e a das unidades. Tudo isso significa que a posição ocupada por cada algarismo em um número, altera seu valor de uma potência de 10 (base 10) para cada casa à esquerda. O valor deste número é formado, multiplicando-se cada algarismo do número, da direita para a esquerda, por potências de 10, começando com 10º. O último algarismo (bem à direita) é multiplicado por 10º, o penúltimo por 101, o próximo por 102 e assim por diante. o valor real do número é a soma destas multiplicações. Observe o esquema a seguir que será bem mais fácil de entender: Número 6 6 6 6 Multiplicador 103 102 101 100 Resultado 6000 600 60 6 Portanto 6000 + 600 + 60 + 6 = 6666. Logo o número 6666 significa exatamente: 6 milhares (6 x 103) + 6 Centenas (6 x 102) + 6 dezenas (6 x 101) + 6 unidades (6 x 100) Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Sistemas Numéricos Posicionais. Generalizando para qualquer Base. No artigo Entendendo o que são Sistemas de Numeração. vimos que, nos sistemas de numeração posicionais, o valor representado pelo algarismo depende da posição em que ele aparece na representação do número. Vimos também que a base de um sistema de numeração posicional é a quantidade de algarismos disponível na representação. A mais usualmente empregada é a base 10, mas existem outras. A linguagem de computadores utiliza a base 2 (sistema binário) e na computação também são usadas base 8 (sistema octal) e base 16 (sistema hexadecimal). Na base 10, dispomos de 10 algarismos para a representação de um número: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Na base 2, apenas 2 algarismos: 0 e 1. Na base 16, 16 algarismos: os 10 algarismos aos quais estamos acostumados, mais os símbolos A, B, C, D, E e F, representando respectivamente 10, 11, 12, 13, 14 e 15 unidades. Teoricamente, podemos ter sistemas de numeração posicionais com qualquer quantidade de algarismos, ou seja, em qualquer base. Generalizando: uma base b qualquer disporá de b algarismos, variando entre 0 e (b-1). No artigo Como Funciona o Sistema de Numeração Decimal. vimos o principio de funcionamento do sistema numérico decimal (base 10), onde por exemplo, a representação do número 236,47 significa: 2x102 + 3x101 + 6x100 + 4x10-1 + 7x10-2. Este princípio aplicado ao sistema de numeração decimal é válido para qualquer sistema de numeração. Por analogia, se, no sistema decimal, para obter o valor do número, multiplicamos os algarismos por potências de 10, no sistema binário (base 2) fazemos esta mesma operação, só que baseada em potências de 2, ou seja: 20, 21, 22, 23, 24 e assim por diante. Se o sistema de numeração for o Octal (base 8), multiplica-se por potências de 8: 8º, 81, 82,... Se o sistema for o Hexadecimal (base 16), multiplica-se por potências de 16, (a letra A equivale a 10, já que não tem sentido multiplicar por uma letra, a letra B equivale a 11 e assim por diante): 160, 161, 162,... Generalizando, representamos um número N qualquer, numa dada base b, como segue: Nb = an bn + an-1bn-1 .... + a2b2 + a1b1 + a0b0 + a-1b-1 + a-2b-2 ++... + a-nb-n Sendo que, anbn +... + a2b2 + a1b1 + a0b0 é a parte inteira e a-1b-1 + a-2b-2 ++... + a-nb-n é a parte fracionária. Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Sistema de Numeração Binário. Entendendo como funciona O que é Sistema Binário? Sistema de numeração binário é um sistema de numeração que utiliza somente dois algarismos: o zero (0) e o um (1). Portanto, é um sistema de base 2. O sistema binário serve de fundamento para a Álgebra booleana (de George Boole - matemático inglês), que permite fazer operações lógicas e aritméticas usando-se apenas dois dígitos ou dois estados (sim e não, falso e verdadeiro, tudo ou nada, 1 ou 0, ligado e desligado). Com os dois algarismos utilizados no sistema de numeração binário, conseguimos representar apenas as quantidades 0 e 1. O que fazemos então, quando queremos representar quantidades maiores que 1 no sistema binário? Usamos duas casas (assim como acontece no sistema decimal que, depois do nove passa a ter duas casas). Quando não conseguimos mais representar com duas casas, passamos para três e assim por diante. A tabela abaixo ilustra a evolução da formação das quantidades no sistema dos números binários: Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binário 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 Podemos perceber que, como existem só dois algarismos, o número de casas necessárias para representar as quantidades cresce muito rapidamente. Com quatro casas, conseguimos representar apenas 16 números. Na numeração decimal, com quatro casas representamos 10000 números, ou seja, de 0 a 9999. Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Conversão de Números Binários em Decimais Como fazemos para saber qual é a quantidade que um determinado número binário representa no sistema decimal? Como fazer para converter um número binário em número decimal? Como fazer conversões do sistema de numeração binário para o sistema de numeração decimal? No artigo Como Funciona o Sistema de Numeração Decimal, vimos como se processa a formação dos números decimais e no artigo Sistemas Numéricos Posicionais, vimos a generalização para todas as bases. Assim, de acordo com o que vimos nesses dois artigos, podemos dizer que para transformar um número binário na sua respectiva quantidade decimal, basta multiplicar cada um de seus algarismos por uma determinada potencia de 2. O último algarismo (bem à direita) é multiplicado por 2º, o penúltimo por 21, o próximo por 22 e assim por diante. O valor real do número é a soma destas multiplicações. Para entender tudo isso melhor, vamos fazer um exemplo prático. Vamos converter o número binário 11010010 para decimal, analogamente ao que fizemos quando estudamos os números decimais: Número Binário 1 1 0 1 0 0 1 0 Multiplicar por 27 26 25 24 23 22 21 20 Ou seja 1 X 128 1 X 64 0 X 32 1 X 16 0 X 8 0 X 4 1 X 2 0 X 1 Resultado 128 64 0 16 0 0 2 0 Somando Tudo 128+64+0+16+0+0+2+0 Número Decimal 210 Assim, 11010010(2) = 1x27 + 1x26 + 0x25 + 1x24 + 0x23 + 0x22 +1x21 + 0x20 = 210(10) Se o número tiver casas depois da vírgula, devemos multiplicar o primeiro algarismo depois da vírgula por 2-1, o segundo por 2-2, e assim por diante. Exemplo: 101,11(2) = 1x22 + 0x21 + 1x20 + 1x2-1 + 1x2-2 = 4 + 0 + 1 + 0,5 + 0,25 = 5,75(10) Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Conversão de Números Decimais em Binários Como fazemos para saber qual é o número binário que um determinado número decimal representa? Como fazer para converter um número decimal em número binário? Como fazer conversões do sistema de numeração decimal para o sistema de numeração binário? Como vimos no artigo Sistemas Numéricos Posicionais, e no artigo Sistema de Numeração Binário, neste sistema de numeração os dígitos binários representam os coeficientes das potências de base 2. Por exemplo, o número 23(10) é representado pela sequência de dígitos binários 10111(2) 23(10) = 16 + 0 + 4 + 2 + 1 = 1x24 + 0x23 + 1x22 + 1x21 + 1x20 = 10111(2) 10111(2) = 1x24 + 0x23 + 1x22 + 1x21 + 1x20 = 16 + 0 + 4 + 2 +1 = 23(10) Os números com parte fracionária, da mesma forma, podem ser representados, usando-se potências negativas de dois. Assim, o número binário 101, 101(2) significa: 1x22 + 0x21 + 1x20 + 1x2-1 +0x2-2 + 1x2-3 = 5, 625 Sabe-se que, no sistema decimal (base dez), para se multiplicar um número por dez, ou seja, pela base, basta deslocar a vírgula uma casa para a direita. Se for dividir por dez, desloca-se a vírgula uma casa para a esquerda. O mesmo ocorre com qualquer base, inclusive com a base dois. Portanto, para se multiplicar um número por dois no sistema binário (base 2), basta deslocar a vírgula uma casa para a direita (ou para a esquerda se for divisão por dois). Exemplos: 5 = 101 10 = 1010 20 = 10100 2,5 = 10,1 Dito isto, vamos à conversão de um número decimal para um número binário. Dividiremos essa conversão em duas partes, primeiramente a parte inteira e depois a parte fracionária. Se o número tiver parte inteira e fracionária, calculamos cada uma separadamente. Parte Inteira do Número Essa conversão será feita da direita para a esquerda, isto é, determina-se primeiro o ultimo algarismoda direita (o que vai ser multiplicado por 20), em seguida o segundo algarismo (o que vai ser multiplicado por 21) e assim por diante. No sistema de numeração binário, o número par termina em 0 e o número ímpar termina em 1. Portanto, o principal de tudo é saber se o número decimal é par ou ímpar. Para saber se um número decimal qualquer é par ou ímpar, basta dividi-lo por dois. Se o resto for 0 o número será par. Se o resto for 1 o número será ímpar. Assim, determina-se o primeiro algarismo da direita (que vai ser multiplicado por 20) pela simples divisão do número decimal por dois; se o resto for 0 (número par) o algarismo da direita é 0; se o resto for 1 (número ímpar) o algarismo da direita é 1. Em seguida, para se determinar o segundo algarismo do número binário, basta lembrar que ele é a parte inteira do número original dividido por dois, abandonado o resto, pois na base dois, ao se dividir um número por dois, basta levar a vírgula para a esquerda. Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Assim, pegando-se o resultado da divisão do número original por dois, abandonando o resto (que já foi utilizado para determinar o primeiro algarismo em binário), vamos verificar se ele é par ou ímpar, ou seja, dividi-lo por dois. Se for par (resto 0) o segundo algarismo será 0. Se for ímpar (resto 1), o segundo algarismo será 1. Fazemos o mesmo processo sucessivamente, até não conseguirmos mais dividir o número por dois, determinando assim, todos os algarismos do número binário. Para ficar mais claro, vamos a um exemplo prático: Vamos converter o número 45 de decimal para binário. Parte Fracionária do Número Como vimos acima, na conversão da parte inteira do número decimal para binário, obtivemos os algarismos binários da direita para esquerda dividindo consecutivamente o número decimal por dois e utilizando-nos dos restos. Na conversão da parte fracionária será um pouco diferente. Agora vamos obter os algarismos binários, da esquerda para a direita e ao invés de dividir, iremos multiplicar a parte fracionária por 2. Se o resultado dessa multiplicação for maior ou igual a 1, o primeiro algarismo será 1. Se o resultado da multiplicação for menor que 1, o primeiro algarismo será 0. Para obtermos o segundo algarismo, pegamos a parte fracionária do resultado da primeira multiplicação (se deu maior que 1, retiramos o 1 e usamos a parte fracionária; se deu menor que 1 usamos esse resultado) e multiplicamos por 2. Se o resultado dessa multiplicação for maior ou igual a 1, o segundo algarismo será 1. Se o resultado da multiplicação for menor que 1, o segundo algarismo será 0. Repetimos esse processo até que não exista parte fracionária após a multiplicação por 2 (ou seja, o resultado da multiplicação dá exatamente 1). Para ficar mais claro, vamos a um exemplo prático: Vamos converter o número 0, 625 de decimal para binário. Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS REDES DE COMPUTADORES Se as multiplicações consecutivas da parte fracionária nunca derem como resultado exatamente 1, verificamos que essa parte fracionária é uma dízima no sistema binário. Exemplo: Se convertermos o número 0,8(10) para o sistema binário, obteremos como resultado o número 0,110011001100...(2). Faculdade de Tecnologia SENAC PELOTAS Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004. Rua Gonçalves Chaves, 602 – Centro. CEP 96015-560. Pelotas/RS–Brasil. Fone (053)3225-6918 - www.senacrs.com.br