Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Умножение, деление и остаток от деления

Операции отрицания

Арифметическое отрицание (унарный минус -) меняет знак операнда на проти­воположный. Стандартная операция отрицания определена для типов int, long, float, double и decimal. К величинам других типов ее можно применять, если для них возможно неявное преобразование к этим типам (см. рис. 3.1). Тип результата соответствует типу операции.

Логическое отрицание (!) определено для типа bool. Результат операции —значение false, если операнд равен true, и значение true, если операнд равен false.

Поразрядное отрицание (~), часто называемое побитовым, инвертирует каждый разряд в двоичном представлении операнда типа int, uint, long или ulong.

Пример операций отрицания

using System;

namespace ConsoleApplication1

{ class Classl

{ static void Main()

{

sbyte a = 3, b = -63, с = 126;

bool d = true;

Console.WriteLine(-a); // Результат -3

Console.WriteLine(-c); // Результат -126

Console.WriteLine(!d); // Результат false

Console.WriteLine(~a); // Результат -4

Console.WriteLinet(~b); // Результат 62

Console.WriteLine(~c); // Результат -127 } } }

Операция умножения (*) возвращает результат перемножения двух операндов. Стандартная операция умножения определена для типов int, uint, long, ulong, float, double и decimal. К величинам.других типов ее можно применять, если для них возможно неявное преобразование к этим типам. Тип результата операции равен «наибольшему» из типов операндов, но не менее int.

Операция деления (/) вычисляет частное от деления первого операнда на второй. Стандартная операция деления определена для типов int, uint, long, ulong, float,double и decimal. К величинам других типов ее можно применять, если для них существует неявное преобразование к этим типам. Тип результата определяется правилами преобразования, но не меньше int. Если оба операнда целочисленные, результат операции, округляется вниз до ближайшего целого числа. Если делитель равен нулю, генерируется исключение System.DivideByZeroException.

Если хотя бы один из операндов вещественный, дробная часть результата деления не отбрасывается. Если результат слишком велик для представления с помощью заданного типа, он принимается равным значению «бесконеч­ность», если слишком мал, он принимается за 0.

Для финансовых величин (тип decimal) при делении на 0 и переполнении генерируются соответствующие исключения, при исчезновении порядка результат равен 0.

Операция остатка от деления (%) также интерпретируется по-разному для целых, вещественных и финансовых величин. Если оба операнда целочисленные, результат операции вычисляется по формуле х - (х / у) * у. Если делитель равен нулю, генерируется исключение System. DivideByZeroException. Тип результата oneрации равен «наибольшему» из типов операндов, но не менее int. Если хотя бы один из операндов вещественный, результат операции вычисляется по формуле х - n * у, где n — наибольшее целое, меньшее или равное результату деления х на у.

Для финансовых величин (тип decimal) при получении остатка от деления на 0 и при переполнении генерируются соответствующие исключения, при исчезновении порядка результат равен 0. Знак результата равен знаку первого операнда.

Пример операций умножения, деления и получения остатка

using System;

namespace ConsoleApplication1

{ class Classl

{ static void Main()

{int x = 11, у = 4;

float z = 4;

Console.WriteLine(z *y); // Результат 16

Console.WriteLine (z * le308); // Результат "бесконечность"

Console.WriteLine(x / у); // Результат 2

Console.WriteLine(x / z); // Результат 2,75

Console.WriteLine(x % у); // Результат 3

Console.WriteLine(le-324 / le-324); // Результат NaN – результат не число

} } }

<== предыдущая лекция | следующая лекция ==>
Операции и выражения | Поразрядные логические операции
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 252; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.