Основы языка C# 2005. Евсеева О.Н - 65 стр.

UptoLike

Составители: 

69
q = p*m + n%m;
if (q == n) Console.WriteLine("q=n");
else Console.WriteLine("q!=n");
double x = 7, y = 3, u, v, w;
u = x/y;
v = u*y;
w = x%y;
if (v == x)
Console.WriteLine("v=x");
else
Console.WriteLine("v!=x");
decimal d1 = 7, d2 = 3, d3, d4, d5;
d3 = d1/d2;
d4 = d3*d2;
d5 = d1%d2;
if (d4 == d1)
Console.WriteLine("d4=d1");
else
Console.WriteLine("d4!=d1");
} //Ariphmetica
При проведении вычислений в двух первых случаях проверяемое условие
оказалось истинным, в третьемложным. Для целых типов можно исходить из
того, что равенство n = n/m*m + n%m истинно. Для типов с плавающей точкой
выполнение точного равенства x = x/y*y следует считать скорее случайным, а не
закономерным событием. Законно невыполнение этого равенства, как это имеет
место при вычислениях с фиксированной точкой.
4.3.5. Операции отношения
Операции отношения можно просто перечислитьв объяснениях они не
нуждаются. Всего операций 6: ==, !=, <, >, <=, >= .
4.3.6. Операции сдвига
Операции сдвига вправо «>>» и сдвига влево «<<» особенно полезны,
если данные рассматриваются как строка битов. Результатом операции является
сдвиг строки битов влево или вправо на K разрядов. В применении к обычным
целым положительным числам сдвиг вправо равносилен делению нацело на 2K,
а сдвиг влево - умножению на 2K. Для отрицательных чисел сдвиг влево и
деление дают разные результаты, отличающиеся на единицу. В языке C#
операции сдвига определены только для некоторых целочисленных типовint,
uint, long, ulong. Величина сдвига должна иметь тип int. Вот пример применения
этих операций:
/// <summary>
/// операции сдвига