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