- Tema Autor
- #1
bueno kien me ayuda con esta recursividad de este speudocodigo
int ConvertBinToDec(const char * binario)
{
int Decimal=0;
for (char i=0;i<strlen(binario);i++)
Decimal=Decimal+ ( binario=='1'? pow(2 , (strlen(binario)-1)-i ):0 );
return Decimal;
}
int ConvertBinToDec(const char *binario)
{
int bit=1,longitud=0; // reservamos estas dos utiles variables
char newbin[10]; // Creamos un nuevo binario pero con un
// caracter menos
// Realizamos un bucle para averiguar la "longitud" de binario y
// de paso copiar el contenido de "binario" menos un caracter, en "newbin"
// Comprobamos que la longitud de binario es mayor de cero
// ya que un valor de ser un solo bit, solo devolveriamos 1 si fuera el caso, no?
// Comprobamos que contiene el bit, "0" o "1", a raíz del resultado
// elevaremos 2 a longitud-1
// Entonces el resultado anterior lo sumamos con el valor
// devuelto de ConvertBinToDec(newbin)
// en caso contrario, devolvemos "1" o "0" según el caso
}
es parte ayudenme por favor
es para pasar un binario a decimal con recursividad
int ConvertBinToDec(const char * binario)
{
int Decimal=0;
for (char i=0;i<strlen(binario);i++)
Decimal=Decimal+ ( binario=='1'? pow(2 , (strlen(binario)-1)-i ):0 );
return Decimal;
}
int ConvertBinToDec(const char *binario)
{
int bit=1,longitud=0; // reservamos estas dos utiles variables
char newbin[10]; // Creamos un nuevo binario pero con un
// caracter menos
// Realizamos un bucle para averiguar la "longitud" de binario y
// de paso copiar el contenido de "binario" menos un caracter, en "newbin"
// Comprobamos que la longitud de binario es mayor de cero
// ya que un valor de ser un solo bit, solo devolveriamos 1 si fuera el caso, no?
// Comprobamos que contiene el bit, "0" o "1", a raíz del resultado
// elevaremos 2 a longitud-1
// Entonces el resultado anterior lo sumamos con el valor
// devuelto de ConvertBinToDec(newbin)
// en caso contrario, devolvemos "1" o "0" según el caso
}
es parte ayudenme por favor
es para pasar un binario a decimal con recursividad