Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Fenris78 en Abril 29, 2010, 10:31:28 AM

Título: Problemas pasando de binario a decimal
Publicado por: Fenris78 en Abril 29, 2010, 10:31:28 AM
Saludos.

Ando liado con un problema, a ver si podeis echarme un cable. Resulta que para una peque?a aplicacion necesito realizar conversiones de decimal a binario y viceversa. He creado dos scripts, pero solo me funciona el que realiza las conversiones de decimal a binario, el que hace la conversion contraria no funciona y todavia no se porque.

Os dejo con el primer script(el que funciona):

// argument0 Numero decimal

var bin, binresultinv,binresult;

binresult="";
binresultinv="";
bin=argument0;

while bin>=1
{
   if (bin mod 2 = 0) {binresultinv+="0";}
   else {binresultinv+="1";}
   bin=round(bin/2)
}

for(i=string_length(binresultinv); i>0; i-=1) // Invertimos la cadena segun procedimiento de conversion
{
   binresult+=string_char_at(binresultinv,i);
}

return(binresult)
   


Este es el que me da problemas. Se supone que deberia de convertir una cadena con un numero binario en un numero decimal:

// argument0 numero binario (en formato cadena)

var dec,decresult;

decresult=0;
dec=0;

for(i=string_length(argument0); i>0; i-=1) //La conversion se hace del ultimo digito al primero
{
  dec=real(string_char_at(argument0,i));
  decresult+=dec*power(2,i)
}

return(decresult)


?Podria alguien decirme donde me estoy equivocando?
Título: Re: Problemas pasando de binario a decimal
Publicado por: hardraid en Abril 29, 2010, 03:23:32 PM
proba asi a ver... MODIFICOOO NO ANDABA LA ANTERIOR ESTA SI...

// argument0 numero binario (en formato cadena)

var dec,decresult;

decresult=0;

for(i=string_length(argument0)-1; i>0; i-=1) //La conversion se hace del ultimo al primer digito.
{
   decresult+=power(real(string_char_at(argument0,i))*2,(abs(i-(string_length(argument0)))));
}

return(decresult);


PD: Terminame el Cell Fusionnnn!
Título: Re: Problemas pasando de binario a decimal
Publicado por: Fenris78 en Abril 30, 2010, 03:54:58 AM
Je je... gracias, ya funciona :)

A ver si saco otro huequin y le doy ca?a al proyecto.