Opérateur modulo en C#

Luqman Khan 12 octobre 2023
Opérateur modulo en C#

Cet article de didacticiel présentera l’opérateur modulo dans la programmation C#.

Obtenir le reste à l’aide de l’opérateur modulo en C#

Les termes utilisés dans l’opération modulo sont les suivants :

  • Diviseur : la valeur sur laquelle nous divisons toute valeur ;
  • Dividende : la valeur à laquelle on divise par une autre valeur ;
  • Quotient : la valeur que nous obtenons de l’opération de division ;
  • Reste : la valeur que nous obtenons comme valeur restante.

Supposons que nous divisons les deux valeurs 13 et 2. Si le quotient est notre principale préoccupation, nous utilisons l’opérateur de division et obtenons une réponse de 6,5.

Et maintenant, supposons que nous voulions obtenir la valeur restante de la division de 13 par 2 ; nous le notons 13%2. Cela nous donne le reste 1 après division.

Il n’y a pas de décimales dans l’opération modulo. Si le dividende est supérieur au diviseur, on le divise et on obtient le reste ; sinon, le dividende est la valeur résiduelle.

Prenons un autre exemple : 3 divisé par 4. Ici 3 est notre dividende, et 4 est notre diviseur, et comme 3 est plus petit que 4, notre reste est 3 pour cette expression (3%4).

Vous trouverez ci-dessous la comparaison de code des opérations de division et de modulo.

Exemple (département):

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

Production:

Sortie du code de division

Le code ci-dessus reçoit deux valeurs de l’utilisateur en entrée : num_1 et num_2. La variable résultat stocke la valeur après division.

Nous avons utilisé un type de données double dans le code ci-dessus car il peut renvoyer une valeur décimale.

Voir l’image ci-dessous pour comprendre comment le résultat est obtenu.

Division manuelle

Exemple (fonctionnement modulo) :

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

Production:

Sortie de code d’opération modulo

De même, le code ci-dessus obtient deux valeurs : num_1 et num_2, et la variable result stocke la valeur restante après l’opération modulo.

Ci-dessous une image pour comprendre comment s’effectue l’opération modulo.

Fonctionnement modulo manuel

Exemple de code complet

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

Article connexe - Csharp Operator