Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp Language Specification.doc
Скачиваний:
13
Добавлен:
26.09.2019
Размер:
4.75 Mб
Скачать

7.10.2Операторы сравнения чисел с плавающей запятой

К стандартным операторам сравнения чисел с плавающей запятой относятся:

bool operator ==(float x, float y); bool operator ==(double x, double y);

bool operator !=(float x, float y); bool operator !=(double x, double y);

bool operator <(float x, float y); bool operator <(double x, double y);

bool operator >(float x, float y); bool operator >(double x, double y);

bool operator <=(float x, float y); bool operator <=(double x, double y);

bool operator >=(float x, float y); bool operator >=(double x, double y);

Эти операторы сравнивают операнды в соответствии с правилами из стандарта IEEE 754.

  • Если какой-либо из операторов не является числом, то результатом всех операторов является false, за исключением оператора!=, для которого результатом является true. Для любых двух операндов x != y всегда дает такой же результат, что и !(x == y). Однако когда один или оба операнда не являются числами, операторы <, >, <= и >= не дают такие же результаты, как логическое отрицание обратного оператора. Например, если x или y не является числом, то x < y имеет значение false, однако !(x >= y) имеет значение true.

  • Когда оба операнда являются числами, значения двух операндов с плавающей запятой в операторах сравниваются в соответствии со следующим порядком

–∞ < –max < ... < –min < –0.0 == +0.0 < +min < ... < +max < +∞

где min и max являются самым малым и самым большим положительными значениями, которые можно представить в данном формате с плавающей запятой. Главным результатом такого порядка является следующее.

  • Отрицательные и положительные нулевые значения считаются равными.

  • Отрицательное бесконечное значение считается меньше всех остальных значений, но равным другому отрицательному бесконечному значению.

  • Положительное бесконечное значение считается больше всех остальных значений, но равным другому положительному бесконечному значению.

7.10.3Операторы сравнения десятичных чисел

К стандартным операторам сравнения десятичных чисел относятся:

bool operator ==(decimal x, decimal y);

bool operator !=(decimal x, decimal y);

bool operator <(decimal x, decimal y);

bool operator >(decimal x, decimal y);

bool operator <=(decimal x, decimal y);

bool operator >=(decimal x, decimal y);

Каждый из этих операторов сравнивает числовые значения двух десятичных операндов и возвращает значение bool, которое указывает, является ли соответствующее отношение истинным или ложным. Каждый оператор сравнения десятичных чисел эквивалентен соответствующему оператору отношения или равенства типа System.Decimal.

7.10.4Логические операторы равенства

К стандартным логическим операторам равенства относятся:

bool operator ==(bool x, bool y);

bool operator !=(bool x, bool y);

Результат == равен true, если оба значения x и y имеют значение true или оба имеют значение false. Иначе результат равен false.

Результат !== равен false, если оба значения x и y имеют значение true или оба имеют значение false. В противном случае результат равен true. Если операнды имеют тип bool, оператор != дает такой же результат, как и оператор ^.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]