Modulo-Operator in C#
In diesem Tutorialartikel wird der Modulo-Operator in die C#-Programmierung eingeführt.
Ermitteln des Rests mit dem Modulo-Operator in C#
Die in der Modulo-Operation verwendeten Begriffe lauten wie folgt:
- Divisor: der Wert, auf den wir jeden Wert teilen;
- Dividende: der Wert, zu dem wir durch einen anderen Wert dividieren;
- Quotient: der Wert, den wir aus der Divisionsoperation erhalten;
- Rest: der Wert, den wir als Restwert erhalten.
Angenommen, wir dividieren die beiden Werte 13 und 2. Wenn der Quotient unser Hauptanliegen ist, verwenden wir den Divisionsoperator und erhalten ein Ergebnis von 6,5.
Und nun nehmen wir an, wir wollen den verbleibenden Wert aus der Division von 13 durch 2 erhalten; wir bezeichnen es mit 13%2. Es gibt uns den Rest 1 nach der Division.
Bei der Modulo-Operation gibt es keine Nachkommastellen. Wenn der Dividende größer als der Divisor ist, teilen wir ihn und erhalten den Rest; andernfalls ist die Dividende der Restwert.
Betrachten wir ein anderes Beispiel: 3 geteilt durch 4. Hier ist 3 unser Dividende und 4 unser Divisor, und weil 3 kleiner als 4 ist, ist unser Rest 3 für diesen Ausdruck (3%4).
Unten ist der Codevergleich von Divisions- und Modulo-Operationen.
Beispiel (Teilung):
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();
}
Ausgabe:
Der obige Code erhält vom Benutzer zwei Werte als Eingabe: num_1
und num_2
. Die Variable Ergebnis
speichert den Wert nach der Division.
Wir haben im obigen Code einen doppelten Datentyp verwendet, da er möglicherweise einen Dezimalpunktwert zurückgibt.
Sehen Sie sich das Bild unten an, um zu verstehen, wie das Ergebnis erzielt wird.
Beispiel (Modulo-Operation):
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();
}
Ausgabe:
In ähnlicher Weise erhält der obige Code zwei Werte: num_1
und num_2
, und die Variable result
speichert den Restwert nach der Modulo-Operation.
Unten ist ein Bild, um zu verstehen, wie die Modulo-Operation ausgeführt wird.
Vollständiger Beispielcode
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();
}
}
}