C# 中的模运算符

Luqman Khan 2022年4月20日
C# 中的模运算符

本教程文章将介绍 C# 编程中的模运算符。

在 C# 中使用模运算符获取余数

模运算中使用的术语如下:

  • 除数:我们除以任何值的值;
  • 被除数:我们除以另一个值的值;
  • 商:我们从除法运算中得到的值;
  • 余数:我们得到的值作为剩余值。

假设我们将两个值 13 和 2 相除。如果商是我们主要关心的问题,我们使用除法运算符并得到 6.5 的答案。

现在,假设我们想从 13 除以 2 中得到剩余的值;我们用 13%2 来表示它。它给了我们除法后的余数 1。

模运算中没有小数位。如果被除数大于除数,我们将其除以得到余数;否则,股息为余数。

让我们考虑另一个例子:3 除以 4。这里 3 是我们的被除数,4 是我们的除数,因为 3 小于 4,所以对于这个表达式(3%4),我们的余数是 3。

下面是除法和模运算的代码比较。

示例(除法):

public static void divideop()
{
    double num_1, num_2, result;
    Console.WriteLine("enter n1");
    num_1 = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("enter n2");
    num_2 = Convert.ToInt32(Console.ReadLine());
    result = num_1 / num_2;
    Console.WriteLine("result is: " + result);
    Console.ReadLine();
}

输出:

除法码输出

上面的代码从用户那里得到两个值作为输入:num_1num_2result 变量存储除法后的值。

我们在上面的代码中使用了 double 数据类型,因为它可能返回小数点值。

请参阅下图以了解如何获得结果。

手动分工

示例(模运算):

public static void modulusop()
{
    double num_1, num_2, result;
    Console.WriteLine("enter n1");
    num_1 = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("enter n2");
    num_2 = Convert.ToInt32(Console.ReadLine());
    result = num_1 % num_2;
    Console.WriteLine("result is: " + result);
    Console.ReadLine();
}

输出:

模运算代码输出

同样,上面的代码得到两个值:num_1num_2result 变量存储模运算后的余数。

下图是了解如何进行模运算的图像。

手动模数运算

完整的示例代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace modulus_operator_A1
{
    public class Program
    {
        static void Main(string[] args)
        {
            int i = 1;
            Console.WriteLine("enter your chooice 1 for divide operation 2 for modulus operation");
            int choice=Convert.ToInt32(Console.ReadLine());
            if(choice==1){
                divideop();
            }
            else if(choice==2)
            {
                modulusop();
            }
            else
            {
            }
            Console.Read();
        }
        public static void divideop()
        {
            double num_1, num_2, result;
            Console.WriteLine("enter n1");
            num_1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("enter n2");
            num_2 = Convert.ToInt32(Console.ReadLine());
            result = num_1 / num_2;
            Console.WriteLine("result is: " + result);
            Console.ReadLine();
        }
        public static void modulusop()
        {
            double num_1, num_2, result;
            Console.WriteLine("enter n1");
            num_1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("enter n2");
            num_2 = Convert.ToInt32(Console.ReadLine());
            result = num_1 % num_2;
            Console.WriteLine("result is: " + result);
            Console.ReadLine();
        }
    }
}

相关文章 - Csharp Operator