Материал предоставлен http://it.rfet.ru

Арифметические операторы

Арифметические операторы, представленные в языке C#, приведены ниже.

Оператор Действие
+ Сложение
- Вычитание, унарный минус
* Умножение
/ Деление
% Деление по модулю
-- Декремент
++ Инкремент

Операторы +, -, * и / действуют так, как предполагает их обозначение. Их можно применять к любому встроенному числовому типу данных.

Действие арифметических операторов не требует особых пояснений, за исключением следующих особых случаев. Прежде всего, не следует забывать, что когда оператор / применяется к целому числу, то любой остаток от деления отбрасывается; например, результат целочисленного деления 10/3 будет равен 3. Остаток от этого деления можно получить с помощью оператора деления по модулю (%), который иначе называется оператором вычисления остатка. Он дает остаток от целочисленного деления. Например, 10 % 3 равно 1.

В C# оператор % можно применять как к целочисленным типам данных, так и к типам с плавающей точкой. Поэтому 10.0 % 3.0 также равно 1. В этом отношении C# отличается от языков C и C++, где операции деления по модулю разрешаются только для целочисленных типов данных.

В приведенном ниже примере программы демонстрируется применение оператора деления по модулю.

// Продемонстрировать применение оператора %.

using System;

class ModDemo {
  static void Main() {
    int iresult, irem;
    double dresult, drem;

    iresult = 10 / 3;
    irem = 10 % 3;

    dresult = 10.0 / 3.0;
    drem = 10.0 % 3.0;

    Console.WriteLine("Результат и остаток от деления 10/3:  " +
                       iresult + " " + irem);
    Console.WriteLine("Результат и остаток от деления 10.0 / 3.0: " +
                       dresult + " " + drem);
  }
}

Результат выполнения этой программы приведен ниже.

Результат и остаток от деления 10/3:  3 1
Результат и остаток от деления 10.0 / 3.0:  3.33333333333333 1

Как видите, обе операции, % целочисленного типа и с плавающей точкой, дают один и тот же остаток, равный 1.

ОператорыОператоры инкремента и декремента