C# 中的模运算符

Luqman Khan 2024年2月15日
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