Основы объектно-ориентированного программирования на языке C# book | Page 75

5.2 Простi типи Над значеннями числових типiв можна виконувати арифметичнi операцiı̈ ( + , - , * , / ) та порiвняння: == (рiвне), != (не рiвне), >= (бiльше або рiвне), <= (менше або рiвне), > (бiльше), < (менше). Данi операцiı̈ та порiвняння виконуються на числовими значеннями таким чинлм: 1) аргументи операцiı̈ (порiвняння) перетворюються до першого типу з перелiку int , uint , long , ulong , float , double , decimal , дiапазон якого покриває дiапазони типiв аргументiв; позначимо цей тип як T ; 2) виконується вiдповiдна операцiя/порiвняння над значеннями ти- пу T, отриманими на кроцi 1 i ı̈ı̈ результат стає результатом операцiı̈ над початковими значеннями (при цьому, якщо тип T цiлий i виконується дiлення на число вiдмiнне вiд нуля, то ре- зультатом є цiле число – цiла частина вiд дiлення). Наприклад, double x; x = 1/2; // виконується операцiя дiлення над значеннями типу int, // результат операцiї - 0 типу int (цiла частина вiд дiлення) // вiн неявно перетворюється на значення типу double Console.WriteLine(x); // виводить 0 x = 1.0/2; // виконується перетворення 2 (типу int) на // значення типу double, потiм дiлення, результат // якого має тип double Console.WriteLine(x); // виводить 0.5 x = 1.0f/2; // виконується перетворення 2 (типу int) на // значення типу float, потiм дiлення, результат // якого має тип float, що неявно перетворюється // на значення типу double Console.WriteLine(x); // виводить 0.5 У випадку, коли результат операцiı̈ не може увiйти в дiапазон типу результату операцiı̈ (наприклад, множення великих чисел, що призво- дить до виходу за межi дiапазону типу) можлива втрата iнформацiı̈ (як i при деяких явних перетвореннях типiв, описаних ранiше), або помилка пiд час виконання програми (якщо вiдповiдна операцiя зна- ходиться у блоцi checked ). Спроба дiлення цiлого числа на нульове значення цiлого типу призводить до помилки пiд час виконання про- грами. Результатом порiвняння є значення типу bool ( true , якщо вiдно- шення виконується, false в iншому випадку), наприклад, int x = 5; bool y = false; y = (x == 5); // y стає рiвним true 75