C# (C Sharp)

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

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Resetear GOOJPRT PT-210 MTP-II (Impresora térmica)

El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…

2 días hace

Proxy Android para impresora térmica ESC POS

Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…

2 días hace

Android – Servidor web con servicio en segundo plano

En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…

2 días hace

Cancelar trabajo de impresión con C++

En este post te quiero compartir un código de C++ para listar y cancelar trabajos…

1 mes hace

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

2 meses hace

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…

2 meses hace