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