De decimal a Binario mediante recursividad en C++



recursividad binario a decimal c++

En una anterior entrada explicamos un poco sobre recursividad en C++ con el ejemplo del factorial de un número, en esta entrada utilizaremos la recursividad para llevar un número decimal a binario.


#include <iostream>

using namespace std;

long abinario(long num){
 if(num < 2)
  return num;
 else
  return num%2 + (10 * abinario(num/2));
}

int main(){
 long num, bin;
 cin >> num;
 bin = abinario(num);
 cout << bin;
 return 0;
}

En este caso la función recursiva viene dada por el resto del número decimal dividido entre 2, y esta función se ejecutará dentro de si misma y el parámetro num será dividido entre 2 por cada ejecución, esto hasta que num sera menor que 2, de esto ocurrir nos retornaría el valor de num.
Es importante tener en cuenta la jerarquía de operadores, puesto que se ejecutarán primero las operaciones que estén entre paréntesis.

Por ejemplo sí nuestro número es 7 la operación sería:
1 + (10 * 1 +  1) = 1 + (11) concatenando los valores... 111

Entrada de prueba:
5

Salida:
101

También te podría interesar:

  1. Determinar si una palabra es palíndromo C++
  2. Operador xor binario en c++ - Disyunción exclusiva de dos números decimales
  3. 22 guías y libros gratis para aprender a programar en c++
  4. Valor Absoluto de un número en c++


¡Ayúdanos a seguir creciendo, comparte en tus Redes Sociales!

Siguiente
« Prev Post
Anterior
Next Post »