Algoritmia - Ayuda con un algoritmo

 
Vista:

Ayuda con un algoritmo

Publicado por Luis (1 intervención) el 23/09/2001 01:24:57
Un favor necesito que me ayuden a encontrar un algoritmo que haga lo siguiente:
Al ingresar un número de cualquier base (binaria, octal, hexadecimal) me devuelva el número en base decimal.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con un algoritmo

Publicado por ff (1 intervención) el 24/09/2001 05:33:33
aaa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con un algoritmo

Publicado por emilio (5 intervenciones) el 24/09/2001 09:30:14
Antes que nada ve las 2 tablas de pasar de Hexa y Octal a binario

hexadecimal: Octal:
0- 0000 000
1- 0001 001
2- 0010 010
3- 0011 011
4- 0100 100
5- 0101 101
6- 0110 110
7- 0111 111
8- 1000
9- 1001
a- 1010
b- 1011
c- 1100
d- 1101
e- 1110
f- 1111

Ahora tomemos un ejemplo el 55 decimal que es en octal 67, Hexa 37 y binario 00110111
Si tienes un Hexa pasalo a binario como la tabla lo indica el 7-0111 y el 3-0011 por lo tanto recibes 00110111, si tienes un octal pasalo a binario como la tabla lo indica el 7-111 y el 6-110 por lo que recibes el binario 110111.
Para pasarlo a decimal tienes que elevar el lugar del bit a la segunda y multiplicarlo por el valor del bit, ejemplo para nuestro numero binario:

bits:0.............0............1............1.............0............1............1.............1
2^7*0 + 2^6*0 + 2^5*1 + 2^4*1 + 2^3*0 + 2^2*1 + 2^1*1 + 2^0*1 = 55 dec

suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con un algoritmo

Publicado por Victor (1 intervención) el 30/09/2001 05:35:10
//*lee la nota de emilio para entender como
//*trabaja este algoritmo
//* las divisiones por 10 son para coger digito por digito
//*cualquier cosa, vuelve a dejar un mensaje
leer (numero)
leer(base)
numtemp<-numero
exp<-1
resultado<-0
mientras numtemp>0
ultimodigito<-numtemp - numtemp mod 10
numtemp<-(numtemp - ultimodigo)/10
resultado<-resultado + ultimodigito*exp
exp<-exp*base
fin_mientras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar