|
Программирование >> Обработка исключительных ситуаций
Пример применения операциий умножения, деления и получения остатка прел ставлен в листинге 3.4. Листинг 3.4. Операции умножения, деления и получения остатка using System; namespace Consol eApplicationl { class Classl { static void MainO int x = 11, у float z = 4; Console.WriteLineC Console.WriteLineC Console.WriteLineC Console. WriteLineC Console.WriteLineC
Еще раз обращаю ваше внимание на то, что несколько операций одного приори тета выполняются слева направо. Для примера рассмотрим выражение 2 / х у Деление и умножение имеют один и тот же приоритет, поэтому сначала 2 делит ся на х, а затем результат этих вычислений умножается на у. Иными словамр это выражение эквивалентно формуле --ух Если же мы хотим, чтобы выражение х у было в знаменателе, следует заклю чить его в круглые скобки или сначала поделить числитель на х, а потом на у, т есть записать как 2 / (х у) или 2 / х /у. , Сложение и вычитание Операция сложения (+) возвращает сумму двух операндов. Стандартная one рация сложения определена для типов int, ui nt, long, ulong, float, double и decimal К величинам других типов ее можно применять, если для них существует неяв ное преобразование к этим типам (см. рис. 3.1). Тип результата операции раве] наибольшему из типов операндов, но не менее i nt. Если оба операнда целочисленные или типа decimal и результат операции слиш ком велик для представления с помощью заданного типа, генерируется исключе ние System.OverflowException1. В проверяемом контексте. В непроверяемом исключение не выбрасывается, зато отбра сываются избыточные биты. Все возможные значения для вещественных операндов приведены в табл. 3.5. Символами х и у обозначены конечные положительные значения, символом z - результат операции вещественного сложения. Если результат слишком велик для представления с помощью заданного типа, он принимается равным значению бесконечность , если слишком мал, он принимается за 0. Таблица 3.5. Результаты вещественного сложения
Операция вычитания (- ) возвращает разность двух операндов. Стандартная операция вычитания определена для типов int, ui nt, long, ulong, float, double и decimal. К величинам других типов ее можно применять, если для них существует неявное преобразование к этим типам (см. рис. 3.1). Тип результата операции равен наибольшему из типов операндов, но не менее i nt. Если оба операнда целочисленные или типа decimal и результат операции слишком велик для представления с помощью заданного типа, генерируется исключение System.OverflowException. Все возможные значения результата вычитания для вещественных операндов приведены в табл. 3.6. Символами х и у обозначены конечные положительные значения, символом z - результат операции вещественного вычитания. Если х и у равны, результат равен положительному нулю. Если результат слишком велик для представления с помощью заданного типа, он принимается равным значению бесконечность с тем же знаком, что и х - у, если слишком мал, он принимается за 0 с тем же знаком, что их - у. Таблица 3.6. Результаты вещественного вычитания Операции сдвига Операции сдвига ( и ) применяются к целочисленным операндам. Они сдвигают двоичное представление первого операнда влево или вправо на количество двоичных разрядов, заданное вторым операндом . При сдвиге влево ( ) освободившиеся разряды обнуляются. При сдвиге вправо ( ) освободившиеся биты заполняются нулями, если первый операнд беззнакового типа (то есть выполняется логический сдвиг), и знаковым разрядом - в противном случае (выполняется арифметический сдвиг). Операции сдвига никогда не приводят к переполнению и потере значимости. Стандартные операции сдвига определены для типов int, ui nt, long и ulong. Пример применения операций сдвига представлен в листинге 3.5. Листинг 3.5. Операции сдвига using System; namespace ConsoleApplicationl { class Classl { static void MainO byte а = 3, b = 9; sbyte с = 9, d = -9; Console.WriteLineC a 1 ) Console.WriteLineC a 2 ) Console.WriteLineC b 1 ) Console.WriteLineC с 1 ) Console.WriteLineC d 1 ) Результат 6 Результат 12 Результат 4 Результат 4 Результат -5 Операции отношения и проверки на равенство Операции отношения (<, <=, >, >=, ==, ! = ) сравнивают первый операнд со вторым Операнды должны быть арифметического типа. Результат операции - логической типа, равен true или false. Правила вычисления результатов приведены в табл. 7 Таблица 3.7. Результаты операций отношения Операция Результат х == у true, если х равно у, иначе fal se х ! = у true, если х не равно у, иначе fal se х < у true, если х меньше у, иначе fal se х > у true, если х больше у, иначе fal se х <= у true, если х меньше или равно у, иначе fal se х >= у true, если х больше или равно у, иначе fal se Фактически, учитывается только 5 младших битов второго операнда, если первый имее тип int или ui nt, и 6 битов, если первый операнд имеет тип long или ulong.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |