Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Checked и unchecked 4 страница. int operator *(int x, int y); uint operator *(uint x, uint y); long operator *(long x, long y); ulong operator *(ulong x





· Произведение целых чисел:

int operator *(int x, int y);
uint operator *(uint x, uint y);
long operator *(long x, long y);
ulong operator *(ulong x, ulong y);

В контексте checked если произведение выходит за пределы диапазона типа результирующего значения, возникает исключение System.OverflowException. В контексте unchecked о переполнениях не сообщается, и все старшие биты, выходящие за пределы диапазона результирующего значения, отбрасываются.

· Произведение чисел с плавающей запятой

float operator *(float x, float y);
double operator *(double x, double y);

Произведение вычисляется в соответствии с арифметическими правилами стандарта IEEE 754. В следующей таблице приведены результаты всех возможных комбинаций ненулевых значений, нулей, бесконечных значений и ошибок NaN z является результатом x * y. Если результат слишком велик для целевого типа, то z равно бесконечности. Если результат слишком мал для целевого типа, то z равно нулю.

 

  +y –y +0 –0 +∞ –∞ NaN
+x +z –z +0 –0 +∞ –∞ NaN
–x –z +z –0 +0 –∞ +∞ NaN
+0 +0 –0 +0 –0 NaN NaN NaN
–0 –0 +0 –0 +0 NaN NaN NaN
+∞ +∞ –∞ NaN NaN +∞ –∞ NaN
–∞ –∞ +∞ NaN NaN –∞ +∞ NaN
NaN NaN NaN NaN NaN NaN NaN NaN

 

· Произведение десятичных чисел.

decimal operator *(decimal x, decimal y);

Если результирующее значение слишком велико для представления в формате decimal, то возникает исключение System.OverflowException. Если результирующее значение слишком мало для представления в формате decimal, то результат равен нулю. Масштаб результата до округления равен сумме масштабов двух операндов.

Произведение десятичных чисел эквивалентно использованию оператора произведения типа System.Decimal.

7.7.2 Оператор деления;

Для операции вида x / y чтобы выбрать конкретную реализацию оператора, применяется разрешение перегрузки бинарного оператора (§7.2.4). Операнды преобразуются в типы параметров выбранного оператора, а тип результата является типом возвращаемого значения этого оператора.

Ниже перечислены стандартные операторы деления. Все операторы вычисляют частное x и y.

· Деление целых чисел:

int operator /(int x, int y);
uint operator /(uint x, uint y);
long operator /(long x, long y);
ulong operator /(ulong x, ulong y);

Если значение правого операнда равно нулю, возникает исключение System.DivideByZeroException.

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

Если левый операнд является самым малым представимым значением int или long, а правый операнд равен –1, происходит переполнение. В контексте checked это приводит к возникновению исключения System.ArithmeticException (или его подкласса). В контексте unchecked возникновение исключения System.ArithmeticException (или его подкласс) или выдача сообщения о переполнении (с передачей результирующего значения равным левому операнду) определяется реализацией.

· Деление чисел с плавающей запятой:

float operator /(float x, float y);
double operator /(double x, double y);

Частное вычисляется в соответствии с арифметическими правилами стандарта IEEE 754. В следующей таблице приведены результаты всех возможных комбинаций ненулевых значений, нулей, бесконечных значений и ошибок NaN z является результатом x / y. Если результат слишком велик для целевого типа, то z равно бесконечности. Если результат слишком мал для целевого типа, то z равно нулю.

 

  +y –y +0 –0 +∞ –∞ NaN
+x +z –z +∞ –∞ +0 –0 NaN
–x –z +z –∞ +∞ –0 +0 NaN
+0 +0 –0 NaN NaN +0 –0 NaN
–0 –0 +0 NaN NaN –0 +0 NaN
+∞ +∞ –∞ +∞ –∞ NaN NaN NaN
–∞ –∞ +∞ –∞ +∞ NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN

 

· Деление десятичных чисел:

decimal operator /(decimal x, decimal y);

Если значение правого операнда равно нулю, возникает исключение System.DivideByZeroException. Если результирующее значение слишком велико для представления в формате decimal, то возникает исключение System.OverflowException. Если результирующее значение слишком мало для представления в формате decimal, то результат равен нулю. Масштаб результата равен минимальному масштабу, который позволит сохранить результат равный ближайшему к истинному математическому результату представимому десятичному числу.

Деление десятичных чисел эквивалентно использованию оператора деления типа System.Decimal.

7.7.3 Оператор остатка;

Для операции вида x % y чтобы выбрать конкретную реализацию оператора, применяется разрешение перегрузки бинарного оператора (§7.2.4). Операнды преобразуются в типы параметров выбранного оператора, а тип результата является типом возвращаемого значения этого оператора.

Ниже перечислены стандартные операторы остатка. Все операторы вычисляют остаток деления x и y.

· Остаток для целых чисел:

int operator %(int x, int y);
uint operator %(uint x, uint y);
long operator %(long x, long y);
ulong operator %(ulong x, ulong y);

Результатом выражения x % y является значение x – (x / y) * y. Если y равно нулю, возникает исключение System.DivideByZeroException.

Если левый операнд является минимальным значением типа int или long, а правый операнд равен -1, то возникает исключение System.OverflowException. Если x / y не порождает исключения, x % y также не порождает исключения.

· Остаток для чисел с плавающей запятой:

float operator %(float x, float y);
double operator %(double x, double y);

В следующей таблице приведены результаты всех возможных комбинаций ненулевых значений, нулей, бесконечных значений и ошибок NaN z является результатом x % y и вычисляется как x – n * y, где n является максимальным возможным целым числом, меньшим или равным x / y. Этот метод вычисления остатка аналогичен методу, используемому для целых операндов, но отличается от определения по стандарту IEEE 754 (в котором n является целым числом, ближайшим к x / y).

 

  +y –y +0 –0 +∞ –∞ NaN
+x +z +z NaN NaN x x NaN
–x –z –z NaN NaN –x –x NaN
+0 +0 +0 NaN NaN +0 +0 NaN
–0 –0 –0 NaN NaN –0 –0 NaN
+∞ NaN NaN NaN NaN NaN NaN NaN
–∞ NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN NaN

 







Дата добавления: 2015-09-07; просмотров: 507. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Тема: Изучение фенотипов местных сортов растений Цель: расширить знания о задачах современной селекции. Оборудование:пакетики семян различных сортов томатов...

Тема: Составление цепи питания Цель: расширить знания о биотических факторах среды. Оборудование:гербарные растения...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия