You are on page 1of 7

Sistemas Numéricos

Por: Scorch

Introdução
Existem vários tipos numéricos, o mais comum e o usado no nosso quotidiano é o sistema décimal.Chama-se décimal, porque tal como o nome indica, é constituído por dez símbolos, algarísmos. São estes o 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Através destes é possível formar todos os números que nós usamos. Mas existem outros, como por exemplo o binário, o octal e o hexadécimal. São estes que vamos abordar agora.

Sistemas Numéricos
Binário
O binário é um sistema extremamente simples, pois é apenas composto por 0s e 1s. Ou seja, através de 0s e 1s conseguimos representar todos os outros algarísmos. Por exemplo: Décimal 0 1 2 3 4 5 6 7 8 9 10 11 - Binário 0 1 10 11 100 101 110 111 - 1000 - 1001 - 1010 - 1011

Ou seja, sempre que atingimos o número máximo possível apenas com 0s e 1s, com x algarismos, adicionamos mais uma casa à parte inteira. Mas é impossível recorrer-mos a este método quando queremos converter um número décimal extremamente grande para binário, pelo que há outras formas de se obter o mesmo resultado.

Décimal → Binário
Para converter-mos de decimal para binário é bastante simples.Temos apenas de dividir o número décimal escolhido por 2, guardando os restos, até que o resultado da divisão dê zero. No exemplo seginte vamos converter o número 6 para binário: 6 : 2 = 3 resto 0 3 : 2 = 1 resto 1 1 : 2 = 0 resto 1 Agora apenas inverte-mos os restos, e obtemos o número binário 110. Podemos verificar na tabela anterior e concluir que esta teoria está certa.

Se quiser-mos converter de décimal para binário, basta-nos mudar o divisor dois para o que quere-mos converter. Se quiser-mos converter para octal, dividimos por oito, e se quiser-mos converter para hexadécimal, dividimos por dezasséis.

Uma vez que o sistema décimal tem apenas 10 símbolos, seria ímpossível representar 16 (hexadécimal) números. Assim, usa-mos letras para o efeito. A = 10; B = 11; C = 12; D = 13; E = 14; F = 15; Nota: Não esquecer de que o zero conta como um símbolo, pelo que vai de zero a 15 e não a 16.

C:

Décimal → Binário (Código)

#include <stdio.h> int main(){ int x, div, pass; int bin[50]; scanf("%d", &x); if (x == 0 || x == 1){ printf("%d", x); } else { for (pass=0; x > 0 && pass < 50; pass++){ bin[pass] = x % 2; //Atribui o resultado da divisão, //para posterior verificação x = x / 2; } for (pass--; pass >= 0; pass--){ printf("%d", bin[pass]); }

} }

return(0);

PHP:
<?php //Aqui tere-mos de colocar o valor a converter, //que pode ser uma variável ($_POST por exemplo) // ou um valor directo $x = 6; if ($x == 0 || $x == 1){ echo $x; } else { for ($pass=0; $x > 0; $pass++){ //Atribui o resto a um array $bin[$pass] = $x % 2; //Atribui o resultado da divisão, para //posterior verificação verificação, e usa //inteiros para que nãohaja casas decimais. $x = (int)($x / 2); } for ($pass--; $pass >= 0; $pass--){ echo $bin[$pass]; }

} ?>

Binário → Décimal
Para converter-mos de binário para décimal temos de múltiplicar a base, que é dois, pela posição do número. Por exemplo, converter o número 110 de binário para décimal seria: 1 1 0 22 21 20 = 4 + 2 = 6 E está convertido o número de binário para décimal.

É de notar que a base da potência, que neste caso é dois, muda consoante o sitema de que queremos converter. Ou seja, como em binário temos apenas dois símbolos, o zero e o um, temos base dois. Mas para sistemas como o octal, com oito símbolos, a base será oito.

Créditos
Você pode partilhar/republicar este documento à vontade, mas lembre-se que tem de o manter na integra, incluindo esta página. Republicação apenas de partes sem devídos créditos estão proíbidas. Este documento foi escrito por Pedro Silva (Scorch). http://e-prof.isgreat.org/ http://centroinfo.iblogger.org/