Студопедия

Главная страница Случайная страница

Разделы сайта

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






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); } }

Останній унарний оператор, якого я згадував, — це Т(х). Це різновид оператора «дужки», що дозволяє приводити один тип до іншого.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.