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