Sistemas de numeração e conversão de bases – Decimal e binário Cálculo de conversão de bases para responder às questões pertinentes à execução das especificações nas configurações de sistemas, comunicação remota e linguagem de máquina. Introdução Quando mencionamos sistemas de numeração, estamos nos referindo à utilização de um sistema para representar uma numeração, ou seja, uma quantidade. Sistematizar algo seria organizar, colocar em ordem, submeter a determinadas regras. Um sistema de numeração seria uma forma de organizar a representação de um número. Exemplo: quando contamos algo ou expressamos algum valor, utilizamos no dia a dia um sistema de numeração, que é o sistema decimal. Para isso, seguimos a organização dos números, pois eles obedecem a certa ordem, e uma das regras é utilizar somente os caracteres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 combinados, obedecendo à ordenação, para formar os números. Existem, por outro lado, inúmeros sistemas de numeração, pois há diversas formas de se representar um número. Um chinês que tem dois carros, para transmitir a informação de que o número de carros que ele possui é dois, se expressa de um modo diferente do que um americano que tenha os mesmos dois carros, mas as formas que ambos utilizam para representar a quantidade de carros têm pontos em comum: são dois sistemas de numeração. O exemplo de um sistema de numeração diferente seria utilizar os seguintes caracteres: 0, 1, 2, 3, C, %,} para representar os números. Ordenando esses caracteres do mesmo modo que o sistema decimal, a contagem nesse sistema seria feita na seguinte ordem: 1, 2, 3, C, %,}, 10, 11, 12, 13, 1C, 1%... O equivalente ao número 10 no sistema decimal seria representado pelo número 13 nesse sistema, o número 11 seria 1C, e assim por diante. A representação de um número em um sistema de numeração diferente muda para um mesmo valor, assim como as operações com números nesses novos sistemas podem ser readequadas. Essas diferenças entre os sistemas de numeração são utilizadas como ferramenta de cálculo e projeto em diversas áreas, como a computação. Quando desejamos registrar um valor de tensão igual a trinta e quatro vírgula cinquenta e dois volts, usamos os caracteres 3, 4, 5, e 2 dispostos numa certa ordem: 34,52 volts. Essa representação é conhecida como notação posicional do valor observado, em que a importância de cada caractere depende da sua posição em relação aos demais caracteres. Os caracteres têm maior significação no sentido da direita para a esquerda. No caso, os caracteres 3 e 2 são, respectivamente, o de maior e menor significação. Base Os sistemas de numeração foram criados pelo homem com o objetivo de quantificar as grandezas relacionadas às suas observações. Tais sistemas foram desenvolvidos por meio de símbolos, caracteres e do estabelecimento de regras para a sua representação gráfica. O conjunto desses símbolos ou caracteres chamamos de base ou raiz do sistema, "r". A base de um sistema de numeração é o número decimal que um sistema de numeração utiliza para indicar uma quantidade e, geralmente, é o número de caracteres diferentes utilizados para compor o sistema. O sistema decimal é dito de base 10 por utilizar somente 10 caracteres diferentes para representar os números (os dígitos de 0 a 9), e a quantidade real representada pelos números tem como base o valor 10. Por exemplo, na contagem do sistema decimal, após o número 9 já utilizamos todos os caracteres diferentes disponíveis, que são 10 (observe que o caractere "0" também está incluído), e um número maior que 9 é representado utilizando uma convenção que atribui um significado numérico quantitativo à posição ou lugar ocupado por um dígito. Cada posição ocupada por um caractere no número possui um "peso" diferente, como no exemplo abaixo: 3004 = 3 x 103 + 0 x 102 + 0 x 101 + 4 x 100 3004 = 3 x 103 + 0 x 102 + 0 x 101 + 4 x 100 O mesmo artifício é utilizado em outros sistemas de numeração, ou seja, cada caractere que compõe um número possui um "peso" de potências do valor da base que variam de acordo com a posição ocupada pelo caractere no número – no caso do sistema decimal, potências de 10.No exemplo exposto anteriormente (com o sistema 0, 1, 2, 3, C, %, }), o valor da base é 7, porque 0, 1, 2, 3, C, %,} são um conjunto de sete caracteres diferentes que posso utilizar para compor um número nesse sistema, e a quantidade que os números representam são expressas com base no valor 7. O número 31} C representa uma quantidade igual a que número no sistema decimal? 31}C = 3 x 73 + 1 x 72 + } x 71 + C x 70 Como 3 = 310 no sistema decimal, 1 = 110, } = 610, C = 410 Concluímos: 31}C = 3 x 73 + 1 x 72 + 6 x 71 + 4 x 70 31}C = 3 x 343 + 1 x 49 + 6 x 7 + 4 x 1 31}C = 1029 + 49 + 42 + 4 31}C = 1.124 De acordo com o interesse do estudo em controle de máquinas e pela utilidade em diversas áreas, daremos ênfase ao sistema de numeração binário (base 2). Obs.: Quando utilizamos sistemas de numeração diferentes, procura-se adotar uma convenção para a identificação de números com bases de numeração diferentes. Exemplo: 111002 = 2810. O número 11100 no sistema de base 2 é igual ao número 28 no sistema decimal. O sistema decimal de numeração Os números decimais são os mais utilizados atualmente de nosso conhecimento. Uma representação posicional no sistema decimal pode ser desenvolvida numa forma polinomial que envolve um somatório de potências de 10. Como exemplo, o número três mil e quatro: 3004 = 3 x 103 + 0 x 102 + 0 x 101 + 4 x 100 3004 = 3 x 1000 + 0 x 100 + 0 x 10 + 4 x 1 3004 = 3000 + 0 + 0 + 4 3004 = 3004 É comum utilizarmos um índice (base 2, 10 ou 16) à direita do dígito menos significativo na representação posicional, para identificar a base de representação. No caso da base decimal, esse índice pode ser omitido. Os circuitos ditos analógicos processam informações usando o sistema decimal. Para conhecer um pouco mais sobre esse sistema, veja o infográfico abaixo. Este infográfico faz parte da sequência desta aula e, portanto, é essencial para a aprendizagem. O sistema binário de numeração O sistema de numeração de base 2 é chamado de sistema binário (dois), pois utiliza somente dois dígitos: 0 e 1. Todos os números são representados conforme o posicionamento e a quantidade desses dois dígitos. A contagem segue o mesmo raciocínio utilizado no sistema decimal: após o último dígito, incrementa-se uma posição à esquerda, e a posição à direita é zerada, repetindo-se toda a sequência de números anterior: 1, 10, 11, 100, 101, 110... Os números citados geralmente são chamados de números binários. Para evitar confusão com o sistema de numeração decimal, lemos dígito por dígito no sistema binário: 10 = hum, zero 1101 = hum, hum, zero, hum Podemos expressar um número fracionário no sistema binário utilizando a vírgula binária: 1,1001; 0,0001; 1101,0101... Esse sistema pode ser utilizado para representar dois estados de um elemento: uma lâmpada (acesa ou apagada), uma chave (aberta ou fechada), uma fita magnética (variação ou não na magnetização), na genética (presença ou ausência de genes), pois, nos cálculos teóricos, o sistema binário é o mais utilizado para facilitar a manipulação dos dados. Qualquer algarismo ou dígito de número binário é denominado de bit (binary digit). Exemplo: 111011 ? 6 bits Conversão do sistema binário para o sistema decimal Uma representação posicional no sistema binário pode ser desenvolvida numa forma polinomial, que envolve um somatório de potências de dois. Assim, o equivalente decimal do número binário é obtido da representação polinomial do número na base dois, por meio do processamento da soma decimal. Exemplo 1: Conversão do número binário 110010 para decimal: 1- O primeiro dígito da direita para a esquerda do número binário multiplica a potência de 20, o segundo dígito da direita para a esquerda multiplica 21, o terceiro dígito à direita multiplica 22, e assim por diante: 0 x 20 = 0 x 1 = 0 1 x 21 = 1 x 2 = 2 0 x 22 = 0 x 4 = 0 0 x 23 = 0 x 8 = 0 1 x 24 = 1 x 16 = 16 1 x 25 = 1 x 32 = 32 2- A soma dessas multiplicações resulta no número decimal: 0 + 2 + 0 + 0 + 16 + 32 = 50 Assim: 1100102 = 5010 Exemplo 2: 101011101010012 = 1 x 213 + 0 x 212 + 1 x 211 + 0 x 210 + 1 x 29 + 1 x 28 + 1 x 27 + 0 x 26 + 1 x 25 + 0 x 24 + 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 101011101010012= 8192 + 0+2048 + 0 + 512 + 256 + 128 + 0 + 32 + 0 + 8 + 0 + 0 +1 101011101010012 = 1117710 Para conhecer um pouco mais sobre esse sistema, veja o infográfico abaixo. Este infográfico faz parte da sequência desta aula e, portanto, é essencial para a aprendizagem. Podemos representar um número decimal fracionário por um número binário, como no exemplo a seguir: 111,01012 = 1 x 22 + 1 x 21 + 1 x 20 + 0 x 2-1 + 1 x 2-2 + 0 x 2-3 + 1 x 2-4 111,01012 = 4 + 2 + 1 + 0 + 0,25 + 0 + 0,0625 111,01012 = 7,312510 Para a representação de números negativos, pode-se utilizar o sinal "-". Outro método utilizado na prática é o acréscimo de um dígito binário à esquerda do número para indicar esse sinal, ou seja, para indicar se o número é negativo ou não. Os números binários compostos dessa maneira são chamados de números binários com sinal ou números de magnitude com sinal pois o primeiro dígito representa o sinal e os dígitos restantes significam a magnitude do número. Geralmente, o dígito 0 indica um número positivo e o 1 indica um número negativo. – 32410 = 11010001002 ? dígito que indica um número negativo Conversão do sistema decimal para o sistema binário Efetua-se uma operação aproximadamente inversa à conversão de binário para decimal utilizando o método das divisões sucessivas: divide-se sucessivamente o número decimal por dois até resultar em um número menor que dois, e os restos dessas divisões com o último resultado formarão o número binário. Esse mesmo método pode ser usado para outros sistemas de numeração de base diferente de 2, como o sistema hexadecimal, cuja base é 16. Para conhecer um pouco mais sobre esse sistema, veja o infográfico abaixo. Este infográfico faz parte da sequência desta aula e, portanto, é essencial para a aprendizagem. Exemplo 1: Conversão do número decimal 102910 para o sistema binário. 1. Divide-se o número por dois, que é a base do sistema binário. O resto dessa divisão será o último dígito do número binário: 2. O resultado dessa divisão é dividido novamente por 2, e o resto será o penúltimo dígito do número binário. O resultado é dividido sucessivas vezes por 2, até a última divisão, em que o resultado for 0 ou 1. O resultado da última divisão será o primeiro dígito do número binário. restos das divisões sucessivas:10000000101 102910 = 100000001012 Exemplo 2: Conversão do número 2837410 decimal para binário. Agora que você já estudou esta aula, resolva os exercícios e verifique seu conhecimento. Caso fique alguma dúvida, leve a questão ao Fórum e divida com seus colegas e professor. Referências STALLINGS, Willian. Arquitetura e organização de computadores. 5. ed. Prentice Hall. São Paulo, 2006. TANENBAUM. Andrew S. Organização estruturada de computadores. 5. ed. Rio de Janeiro: LTC, 2007. MACHADO, Francis B.; MAIA, Luiz P. Arquitetura de sistemas operacionais. 4. ed. Rio de Janeiro: LTC, 2007. WEBER, Raul Fernando. Arquitetura de computadores pessoais. 2. ed. Porto Alegre: Sagra Luzzatto, 2003. _______. Fundamentos de arquitetura de computadores. 3. ed. Porto Alegre: Sagra Luzzatto, 2004.