Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Checked і unchecked
Ці два оператори управляють перевіркою переповнювання при виконанні математичних операцій. Математичні оператори С#, як і більшість інших мов, підтримує основних математичних операторів: множення (*), ділення (/), складання (+), віднімання (—) і модуль (%). Призначення перших чотирьох операторів зрозуміле з їх назв; оператора модуля формує залишок від цілочисельного ділення. Ось код, що ілюструє застосування математичних операторів: using System; class MathOpsApp { public static void MAINQ { // Клас System.Random є частиною бібліотеки класів //.NET Framework. У його конструкторі за умовчанням // метод Next використовує поточну дату/час як // початкового значення. Random rand = new RANDOMO; int а, b, з; а = rand.Next() % 100; // Граничне значення 99. b = rand.NextO % 100; // Граничне значення 99. Console.WriteLine(" a={0} b={1}", а, b); з = а * b; Console.WriteLineC'a * b = {0}", з); // Відмітьте, що тут використовуються цілі числа. // Отже, якщо а менше Ь, результат завжди // буде 0. Для отримання точнішого результату // потрібно застосовувати змінні типу double або float, з = а / b; Console.WriteLineC'a / b = {0}", з); з = а + b; Console.WriteLineC'a + b = {0}", з); з = а - b; Console.WriteLineC'a - b = {0}", з); з = а X b; Console.WriteLineC'a X b = {0}", з); > > Унарні оператори Унарних операторів два: плюс і мінус. Оператор унарного мінуса указує компілятору, що число негативне. Таким чином, в наступному коді а буде рівне —42: using System; using System; class UnarylApp { public static void Main() { int а = 0; а = -42; Console.WriteLine(" {0}", a); } } Проте в цьому коді з'являється невизначеність: using System; class Unary2App < public static void Main() { int а; int b = 2; int з = 42; а = b * -с; Console.WriteLine(" {0}", a); > > Вираз а = b * -с не зовсім зрозуміло. Знову повторю, що використання дужок прояснить цей вираз: // При використанні дужок очевидно, що ми // множимо b на негативне число з. а = b * (-с); Якщо унарний мінус повертає від’ємне значення операнда, можна подумати, що унарний плюс повертає позитивне. Проте унарний плюс лише повертає операнд в його первинній формі і більше нічого не робить, тобто не впливає на операнд. Наприклад, виконання цього коду приведе до виведення значення -84: using System; class UnarySApp { public static void MAINQ { int а; int b = 2; int з = -42; а = b * (+c); Console.WriteLine(" {0}", a); } } Для набуття позитивного значення служить функція Math.Abs. Цей код виведе значення 84: using System; class Unary4App { public static void Main() { int а; int b = 2; int з = -42; а = b * Math.Abs(c); Console.Writel_ine(" {0}", a); } } Останній унарний оператор, якого я згадував, — це Т(х). Це різновид оператора «дужки», що дозволяє приводити один тип до іншого.
|