Арифметические операторы, представленные в языке 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.
Операторы | Операторы инкремента и декремента |