Neste texto iremos aprender a trabalhar com conversão de sistemas numéricos (Binário, Decimal e Hexadecimal), facilitando a compreensão do usuário sobre as operações computacionais.
[ Hits: 206.107 ]
Por: Mateus Evangelista Oliveira Pereira em 30/04/2008
Há duas formas de se trabalhar com conversão de um número decimal para binário, mas aqui será somente estudada uma forma que é o método por divisões sucessivas.
O método de divisões sucessivas se baseia em dividir o numero decimal pela base do sistema binário (BASE 2).
Por exemplo vamos converter o número 25 para binário:
Portanto 25 (decimal base 10) = 11001 (binário base 2)
Depois de feitas as divisões sucessivas do número decimal, o número binário é escrito com o primeiro digito sendo o resultado do menor divisor no caso se de 25 o primeiro numero a ser escrito seria 1 / 2 = 0,5 = 1, o segundo digito seria o penúltimo divisor 3 / 2 = 1,5 = 1 e assim sucessivamente. Se o número que for dividido tiver quociente com vírgula como por exemplo 25 / 2 = 12,5 seu equivalente em binário será 1.
Para fixar o aprendizado vamos converter o número 37 em decimal para seu equivalente em binário.
[1] Comentário enviado por stremer em 30/04/2008 - 16:46h
cara.
Só uma observação:
Quando você fala: O sistema de numeração hexadecimal serve basicamente para compactar um número binário, pois há números binários muito extensos que em certos casos podem atrapalhar ou até mesmo atrasar a compreensão do circuito interno.
esta incorreto, pois o circuito interno trabalha totalmente em modo binário. O hexadecimal é apenas uma representação da base 16, e na verdade o circuito interno trabalha com sequencias de bits (base 2) e por este motivo é utilizado o hexadecimal, para lidar com todas as opções nesta sequência. A velha história do byte que tem 8 bits.
[3] Comentário enviado por stremer em 30/04/2008 - 17:18h
sim, o artigo esta bom, leve isto como critica construtiva, pois é um artigo bem legal para quem não sabe oque significa 0D0A ou 00FF9B, foi somente uma correção para evitar confusão. Eu mesmo ja falei mta besteira pq li alguma besteira em algum lugar, por isso acho importante corrigir os erros dos artigos. Abs
[5] Comentário enviado por elgio em 02/05/2008 - 15:22h
Uma utilidade do HEXA que eu sempre explico em Algoritmos!
Um número inteiro não cabe em 1 bytes, logo "se espalha" por vários bytes (atualmente 4 bytes no Linux 32 bits). Se eu faço isto:
char a;
int b;
b = 1000;
a = b;
b que é de 32 bits não cabe em a que é 8 bits. Logo o C colocará apenas o byte que cabe, ou seja, dos 4 bytes que foram usados para representar 1000, apenas o bytes MENOS SIG será atribuído a variável A.
O que A teria?
Devo eu converter 1000 para BINÁRIO em 32 bits e colocar os 8 menos em A?
Bom, se eu converter para HEXA, fica mais fácil:
1000 = 00 00 03 E8
Em HEXA cada LETRA é justamente 4 bits e 2 são 8 bits. Logo apenas o E8 entrará em A que em decimal significa 232. Logo, a variável A recebe 232 (mas se eu fizer um printf("%d\n", a) sairá -24 (coisa de complemento de 2, mas ai já seria outro artigo ;-)
[6] Comentário enviado por r3v0lt4d0 em 02/05/2008 - 22:20h
elgio cara uma ótima idéia sua cara..
eu pretendo construir outro texto aprofundando mais um pouco os conhecimentos da galera... tipo mencionar o código BCD e o Gray e mais outras coisas se topar reunir umas idéias comigo entra em contanto cara!