PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.
Moderadores: Administradores, Moderadores
por fogona » Terça Out 18, 2005 3:05
Poderiam me ajudar tem um exercício de pascal que não consigo resolver para pasar um numero de base 16 para 8 e vice versa caça
-
fogona
- Aprendiz

-
- Mensagens: 50
- Registado: Sábado Abr 16, 2005 19:20
por deathseeker25 » Terça Out 18, 2005 18:08
Eu penso que a forma mais fácil de executares a conversão de hexadecimal para octal, será através de uma passagem de hexadecimal para decimal, e apenas posteriormente, para octal.
Isto porque a elaboração de um algoritmo de conversão de hexadecimal para octal, para um iniciante, não é pêra-doce.
Por exemplo (converter um hexadecimal para decimal):
0x1A5= 1A5=1*16^2+A*16^1+5*16^0=1*256+10*16+5*1=421
Ou seja, basta multiplicar cada um dos elementos constituintes do numero pela base 16 elevada a cada uma das potencias.
Converter octal para decimal é simples tambem. Se precisares de explicação diz. No entanto (não sei se tal acontece em Pascal) em C, o próprio compilador faz-te a conversão através da alteração da letra de representação do tipo da variável lida.
Cumps
-
deathseeker25
- Membro de Prata

-
- Mensagens: 153
- Registado: Terça Set 20, 2005 14:09
Voltar para Programação
Quem está ligado:
Utilizador a ver este Fórum: Nenhum utilizador registado e 1 visitante