Главная arrow Язык программирования C# arrow C# Полное руководство Герберт Шилдт arrow Арифметические операторы C# Полное руководство Герберт Шилдт

Арифметические операторы C# Полное руководство Герберт Шилдт

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

Оператор

Действие

+

Сложение

-

Вычитание, унарный минус

*

Умножение

/

Деление

%

Деление по модулю

--

Декремент

++

Инкремент


Операторы +, -, * и / действуют так, как предполагает их обозначение. Их можно применять к любому встроенному числовому типу данных.
Действие арифметических операторов не требует особых пояснений, за исключением следующих особых случаев. Прежде всего, не следует забывать, что когда оператор / применяется к целому числу, то любой остаток от деления отбрасывается; например, результат целочисленного деления 10/3 будет равен 3. Остаток от этого деления можно получить с помощью оператора деления по модулю (%), который иначе называется оператором вычисления остатка. Он дает остаток от целочисленного деления. Например, 10 % 3 равно 1. В C# оператор % можно применять как к целочисленным типам данных, так и к типам с плавающей точкой. Поэтому 10.0 % 3.0 также равно 1. В этом отношении 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 + 11 11 + irem);
Console.WriteLine("Результат и остаток от деления 10.0 / 3.0: " + dresult + " " + drem) ;
}
}

Результат выполнения этой программы приведен ниже.
Результат и остаток от деления 10 / 3: 3 1
Результат и остаток от деления 10.0 / 3.0: 3.33333333333333 1
Как видите, обе операции, % целочисленного типа и с плавающей точкой, дают один и тот же остаток, равный 1.