Convertir Un Número Decimal A Binario Usando La División En C#

En este ejercicio, crearemos un programa en C# que convierte un número decimal a su representación binaria mediante divisiones sucesivas entre 2. El programa solicitará repetidamente un número decimal hasta que el usuario escriba "fin". A diferencia de los métodos estándar, este ejercicio no utilizará `ToString()` para la conversión. En su lugar, implementará la conversión binaria manualmente, reforzando la comprensión de bucles, condicionales y sistemas numéricos.



Grupo

Tipos de datos básicos de C#

Objectivo

1. Solicitar continuamente al usuario que introduzca un número decimal.
2. Convertir el número decimal a binario mediante divisiones sucesivas entre 2.
3. Mostrar el equivalente binario como una cadena de 0 y 1.
4. Repetir el proceso hasta que el usuario introduzca "fin".
5. Asegurar un manejo correcto de la entrada para evitar errores al introducir valores no numéricos.

Escribir un programa en C# que solicite al usuario un número decimal y muestre su equivalente en formato binario. Debe repetirse hasta que el usuario introduzca la palabra "fin". No debe usar "ToString", sino divisiones sucesivas.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;

class Program
{
    static void Main()
    {
        string input;
        
        // Infinite loop to keep asking for input until "end" is entered
        while (true)
        {
            Console.Write("Enter a decimal number (or type 'end' to exit): ");
            input = Console.ReadLine();

            // Check if the user wants to exit
            if (input.ToLower() == "end")
            {
                break;
            }

            // Try to parse the input into an integer
            if (int.TryParse(input, out int decimalNumber))
            {
                string binaryResult = "";

                // Convert decimal to binary using successive divisions
                if (decimalNumber == 0)
                {
                    binaryResult = "0";
                }
                else
                {
                    while (decimalNumber > 0)
                    {
                        binaryResult = (decimalNumber % 2) + binaryResult;
                        decimalNumber /= 2;
                    }
                }

                // Display the binary equivalent
                Console.WriteLine($"Binary: {binaryResult}\n");
            }
            else
            {
                Console.WriteLine("Invalid input! Please enter a valid decimal number.\n");
            }
        }

        Console.WriteLine("Program ended.");
    }
}

 Output

Enter a decimal number (or type 'end' to exit): 10
Binary: 1010

Enter a decimal number (or type 'end' to exit): 25
Binary: 11001

Enter a decimal number (or type 'end' to exit): 0
Binary: 0

Enter a decimal number (or type 'end' to exit): end
Program ended.

Comparte este ejercicio de C#

Practica más ejercicios C# de Tipos de datos básicos de C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..