Número par o impar en C# con Visual Studio - Operador módulo y AND

Número par o impar en C# con Visual Studio

En este post de programación inicial con C# programando normalmente en Visual Studio vamos a ver cómo determinar si un número es par o impar.

Para esto vamos a usar el operador módulo y comparar el resultado. También vamos a ver otra manera de hacerlo sin el operador módulo, o sea que básicamente veremos dos maneras de saber si un número es par o impar con C#.

Explicando el operador módulo

Este operador te dice el sobrante que queda al dividir 2 números de manera entera, es decir, como si los decimales no existieran.

Por ejemplo, si dividimos 5 entre 2 sabemos que el resultado es 2.5; pero si lo dividimos sin decimales podemos decir que 5 entre 2 es 2, y sobra 1.

Pues exactamente ese sobrante nos va a ayudar a saber si un número es par o impar en Visual Studio, ya que si el sobrante es 1 el número será impar, y si no, será par.

Nota: siempre vamos a dividir entre 2, sin importar el número dividido. Por cierto, el módulo se representa con el operador %.

Par o impar con C# y módulo

Entonces veamos el código para saber si un número es par o impar:

Console.WriteLine("Escribe un número: ");
long numero = Convert.ToInt64(Console.ReadLine());
long sobrante = numero % 2;
if (sobrante == 0)
{
    Console.WriteLine("El número es par");
}
else
{
    Console.WriteLine("El número es impar");
}

Como dije anteriormente, el sobrante siempre será un 1 o un 0 al dividir entre 2. Y si es cero entonces es par, pero si no, es impar.

Usando operaciones a nivel de bits

Podemos usar el truco de comparar números a nivel binario con el operador AND y obtener el resultado. Eso está mejor explicado en este post: par o impar con comparaciones lógicas.

No lo explico aquí porque sería repetitivo, así que si te quedan dudas simplemente lee el post anteriormente mencionado.

Console.WriteLine("Escribe un número: ");
long numero = Convert.ToInt64(Console.ReadLine());
long sobrante = numero & 1;
if (sobrante == 0)
{
    Console.WriteLine("El número es par");
}
else
{
    Console.WriteLine("El número es impar");
}

Al final el resultado, de nuevo, será 1 o 0; pero ambas cosas son totalmente distintas. En el primer caso usamos el operador módulo y en el segundo caso usamos operaciones binarias.

Poniendo todo junto

El código completo que además prueba ambos métodos queda así:

using System;

namespace ParImpar
{
    class Program
    {
        static void Main(string[] args)
        {
            // https://parzibyte.me/blog
            Console.WriteLine("Escribe un número: ");
            long numero = Convert.ToInt64(Console.ReadLine());
            long sobrante = numero % 2;
            if (sobrante == 0)
            {
                Console.WriteLine("El número es par");
            }
            else
            {
                Console.WriteLine("El número es impar");
            }
            SinModulo();
        }

        static void SinModulo()
        {
            Console.WriteLine("Escribe un número: ");
            long numero = Convert.ToInt64(Console.ReadLine());
            long sobrante = numero & 1;
            if (sobrante == 0)
            {
                Console.WriteLine("El número es par");
            }
            else
            {
                Console.WriteLine("El número es impar");
            }

        }
    }
}

Toma en cuenta que puse el código de la operación de bits en un método nuevo para separar los conceptos, no es obligatorio tenerlo así. Al probarlo, la ejecución es correcta:

Número par o impar en C# con Visual Studio - Operador módulo y AND
Número par o impar en C# con Visual Studio – Operador módulo y AND

Y así es como determinamos si un número es impar o par en C#.

También puedes ver un video explicativo:

Para terminar este post te dejo con más tutoriales de C# en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *