C# 中的模運算子
Luqman Khan
2024年2月15日
本教程文章將介紹 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_1
和 num_2
。result
變數儲存除法後的值。
我們在上面的程式碼中使用了 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_1
和 num_2
,result
變數儲存模運算後的餘數。
下圖是瞭解如何進行模運算的影象。
完整的示例程式碼
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();
}
}
}