Умножение, деление и остаток от деления — КиберПедия 

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

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

2019-12-21 211
Умножение, деление и остаток от деления 0.00 из 5.00 0 оценок
Заказать работу

Операция умножения (*) возвращает результат перемножения двух операндов. Стандартная операция умножения определена для типов 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 – результат не число

} } }

Сложение и вычитание

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

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

Операции сдвига

Операции сдвига (<< и >>) применяются к целочисленным операндам. Они сдвигают двоичное представление первого операнда влево или вправо на количество двоичных разрядов, заданное вторым операндом. Фактически, учитывается только 5 младших битов второго операнда, если первый имеет тип int или uint, и 6 битов, если первый операнд имеет тип long или ulong.

При сдвиге влево (<<) освободившиеся разряды обнуляются. При сдвиге вправо (>>) освободившиеся биты заполняются нулями, если первый операнд беззнакового типа (то есть выполняется логический сдвиг), и знаковым разрядом — в противном случае (выполняется арифметический сдвиг). Операции сдвига никогда не приводят к переполнению и потере значимости. Стандартные операции сдвига определены для типов int, uint, long и ulong.

Пример применения операций сдвига

using System;

namespace ConsoleApplicatlonl

{ class Classl

{ static»oid Main()

{ -

byte a = 3, b = 9;

sbyte с = 9, d =-9;

Console.WriteLine(a <<1); // Результат 6

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

Console.WriteLine(b >> 1); // Результат 4

Console.WriteLine(с>> 1); // Результат 4

Console.WriteLine(d>>1); // Результат -5

} } }.


Поделиться с друзьями:

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.