Dado un número entero, ahora convertimos el número entero dado en un número binario usando recursividad. La recursión es un método en el que una función se llama a sí misma directa o indirectamente y este tipo de función se conoce como función recursiva. Resuelve el problema de manera muy eficiente, como si encontráramos el equivalente binario de un número entero.
Ejemplos:
Input : 10 Output: 1010 Input : 11 Output: 1011
Acercarse:
Para mostrar el equivalente binario de un entero usamos los siguientes pasos:
- Si la condición se utiliza para verificar si el valor dado no es igual a cero.
- Si la condición dada es verdadera, realice el módulo del valor por 2, luego sume el resultado del módulo a 10 y luego multiplique el valor del resultado con el valor de la función decimaltobinary().
- Ahora repita el paso 2 hasta que el valor de la variable val sea mayor que cero.
- Imprima la array en orden inverso ahora.
- Y si la condición es falsa, ejecutará la sección else, es decir, devolverá 0
La siguiente imagen puede ayudarlo a comprender mejor el enfoque.
Consideremos que el número entero es 10. Ahora encontramos el equivalente binario de 10, entonces,
- 10 % 2 + 10 * (10 / 2) % 2 devolverá 0
- 5 % 2 + 10 * (5/2) % 2 devolverá 1
- 2 % 2 + 10 * (2/2) % 2 devolverá 0
- 1 % 2 + 10 * (1 / 2) % 2 devolverá 1
Así que el resultado final es 1010.
Ejemplo 1:
C#
// C# program to display the binary equivalent // of an integer using System; class GFG{ // Driver code public static void Main(string[] args) { // Input int num = 15; decimaltobinary(num); } // Function to display the binary equivalent // of an integer public static int decimaltobinary(int val) { int binary; if (val != 0) { binary = (val % 2) + 10 * decimaltobinary(val / 2); Console.Write(binary); return 0; } else { return 0; } } }
1111
Ejemplo 2:
C#
// C# program to display the binary equivalent // of an integer using System; class GFG{ // Function to display the binary equivalent // of an integer public static int decimaltobinary(int val) { int binary; if (val != 0) { binary = (val % 2) + 10 * decimaltobinary(val / 2); Console.Write(binary); return 0; } else { return 0; } } // Driver code public static void Main(string[] args) { int num; // Reading input from user Console.Write("Hi! Enter the number:"); num = int.Parse(Console.ReadLine()); decimaltobinary(num); } }
Producción:
Hi! Enter the number:10 1010
Publicación traducida automáticamente
Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA