Операція складання ( + ) повертає суму двох операндів. Стандартна oneрація складання визначена для типів int, uint, long, ulong, float, double і decimal. До величин інших типів її можна застосовувати, якщо для них існує неявне перетворення до цих типів (див. рис. 3.1). Тип результату операції дорівнює “найбільшому” з типів операндів, але не менше int. Якщо обидва операнди цілочисельні або типу decimal і результат операції дуже великий для уявлення за допомогою заданого типу, генерується виключення System.OverflowException.
Можливі значення для дійсних операндів приведені в таблиці 3.5. Якщо результат дуже великий для заданого типу, він приймається рівним значенню “нескінченність”, якщо дуже малий, він приймається за 0.
Таблиця 3.5.
Результати дійсного складання
+
| y
| +0
| -0
| +∞
| -∞
| NaN
|
x
| z
| x
| x
| +∞
| -∞
| NaN
|
+0
| У
| +0
| +0
| +∞
| -∞
| NaN
|
-0
| У
| +0
| -0
| +∞
| -∞
| NaN
|
+∞
| +∞
| +∞
| +∞
| +∞
| NaN
| NaN
|
-∞
| -∞
| -∞
| -∞
| NaN
| -∞
| NaN
|
NaN
| NaN
| NaN
| NaN
| NaN
| NaN
| NaN
|
Операція віднімання (- ) повертає різницю двох операндів. Стандартна операція віднімання визначена для типів int, uint, long, ulong, float, double і decimal. До величин інших типів її можна застосовувати, якщо для них існує неявне перетворення до цих типів (див. рис. 3.1). Тип результату операції дорівнює “найбільшому” з типів операндів, але не менше int. Якщо обидва операнди цілочисельні або типу decimal і результат операції дуже великий то генерується виключення System.OverflowException. Всі можливі значення результату віднімання для дійчних операндів приведені в таблиці 3.6. Символами х і у позначені кінцеві додатні значення, символом z - результат операції дійсного віднімання. Якщо х і у рівні, результат дорівнює додатному нулю. Якщо результат дуже великий для заданого типу, він приймається рівним значенню “нескінченність” зі знаком, що і х - у, якщо дуже малий, він приймається за 0 з тим же знаком, що й х - у.
Таблиця 3.6.
Результати дійсного віднімання
-
| y
| +0
| -0
| +∞
| -∞
| NaN
|
x
| z
| x
| x
| -∞
| +∞
| NaN
|
+0
| -у
| +0
| +0
| -00
| +∞
| NaN
|
-0
| -у
| -0
| +0
| -00
| +∞
| NaN
|
+v
| +∞
| +∞
| +∞
| NaN
| +∞
| NaN
|
-∞
| -∞
| -∞
| -∞
| -∞
| NaN
| NaN
|
NaN
| NaN
| NaN
| NaN
| NaN
| NaN
| NaN
|