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();
}
}
}