Студопедия


Авиадвигателестроения Административное право Административное право Беларусии Алгебра Архитектура Безопасность жизнедеятельности Введение в профессию «психолог» Введение в экономику культуры Высшая математика Геология Геоморфология Гидрология и гидрометрии Гидросистемы и гидромашины История Украины Культурология Культурология Логика Маркетинг Машиностроение Медицинская психология Менеджмент Металлы и сварка Методы и средства измерений электрических величин Мировая экономика Начертательная геометрия Основы экономической теории Охрана труда Пожарная тактика Процессы и структуры мышления Профессиональная психология Психология Психология менеджмента Современные фундаментальные и прикладные исследования в приборостроении Социальная психология Социально-философская проблематика Социология Статистика Теоретические основы информатики Теория автоматического регулирования Теория вероятности Транспортное право Туроператор Уголовное право Уголовный процесс Управление современным производством Физика Физические явления Философия Холодильные установки Экология Экономика История экономики Основы экономики Экономика предприятия Экономическая история Экономическая теория Экономический анализ Развитие экономики ЕС Чрезвычайные ситуации ВКонтакте Одноклассники Мой Мир Фейсбук LiveJournal Instagram

Преобразование типов в выражениях




Преобразования типов выполняются по принятым в C# правилам продвижения типов.Ниже приведен алгоритм, определяемый этими правилами для операций с двумя операндами.

ЕСЛИ один операнд имеет тип decimal, ТО и второй операнд продвигается

к типу decimal(но если второй операнд имеет тип floatили double, результат

будет ошибочным).

ЕСЛИ один операнд имеет тип double, ТО и второй операнд продвигается

к типу double.

ЕСЛИ один операнд имеет тип float, ТО и второй операнд продвигается к типу

float.

ЕСЛИ один операнд имеет тип ulong, ТО и второй операнд продвигается

к типу ulong(но если второй операнд имеет тип sbyte, short, intили long,

результат будет ошибочным).

ЕСЛИ один операнд имеет тип long, ТО и второй операнд продвигается к типу

long.

ЕСЛИ один операнд имеет тип uint, а второй — тип sbyte, shortили int, ТО

оба операнда продвигаются к типу long.

ЕСЛИ один операнд имеет тип uint, ТО и второй операнд продвигается к типу

uint.

ИНАЧЕ оба операнда продвигаются к типу int.

// Пример неожиданного результата продвижения типов!

using System;

class PromDemo

{

static void Main()

{

byte b;

b = 10;

b = (byte)(b * b); // Необходимо приведение типов!!

Console.WriteLine("b: " + b);

}

}

Как ни странно, но когда результат вычисления выражения b*b присваивается обратно переменной b, то возникает потребность в приведении к типу byte!Объясняется это тем, что в выражении b*bзначение переменной bпродвигается к типу intи поэтому не может быть присвоено переменной типа byteбез приведения типов.

В следующем фрагменте кода требуется обратное приведение

к типу char, поскольку операнды ch1 и ch2 в выражении продвигаются к типу int.

char ch1 = 'a', ch2 = 'b';

ch1 = (char)(ch1 + ch2);

Приведение типов в выражениях

// Пример приведения типов в выражениях.

using System;

class CastExpr

{

static void Main()

{

double n;

for (n = 1.0; n <= 10; n++)

{

Console.WriteLine("Квадратный корень из {0} равен {1}",

n, Math.Sqrt(n));

Console.WriteLine("Целая часть числа: (0)",

(int)Math.Sqrt(n));

Console.WriteLine("Дробная часть числа: (0)",

Math.Sqrt(n) - (int)Math.Sqrt(n));

Console.WriteLine();

}

}

}

ГЛАВА

Операторы

Операторы отношения и логические операторы

Операторы отношения

== Равно

!= Не равно

> Больше

< Меньше

>= Больше или равно

<= Меньше или равно

К числу логических относятся операторы, приведенные ниже

& И (*)

| ИЛИ (+)

^ Исключающее ИЛИ

&& Укороченное И

|| Укороченное ИЛИ




! НЕ

Импликация — это двоичная операция, результатом которой является ложное значение только в том случае, если левый ее операнд имеет истинное значение, а правый — ложное.

P q

true true true

true false false

false false true

false true true

Операция импликации может быть построена на основе комбинации логических

операторов !и |, как в приведенной ниже строке кода

!р | q

// Построение операции импликации в С#.

using System;

class Implication

{

static void Main()

{

bool p = false, q = false;

int i, j;

for (i = 0; i < 2; i++)

{

for (j = 0; j < 2; j++)

{

if (i == 0) p = true;

if (i == 1) p = false;

if (j == 0) q = true;

if (j == 1) q = false;

Console.WriteLine("p равно " + p + ", q равно " + q);

if (!p | q)

Console.WriteLine("Результат импликации " + p +

" и " + q + " равен " + true);

Console.WriteLine();

}

}

}

}

Результат выполнения этой программы выглядит так.

р равно True, q равно True

Результат импликации True и True равен True

р равно True, q равно False

р равно False, q равно False

Результат импликации False и True равен True

р равно False, q равно False

Результат импликации False и False равен True





Дата добавления: 2015-04-12; просмотров: 394; Опубликованный материал нарушает авторские права? | Защита персональных данных | ЗАКАЗАТЬ РАБОТУ


Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: При сдаче лабораторной работы, студент делает вид, что все знает; преподаватель делает вид, что верит ему. 8900 - | 7134 - или читать все...

Читайте также:

  1. I. Общие положения. 1. Настоящие Правила определяют типовые условия, в соответствии с которыми заключается договор обязательного страхования гр
  2. I. Общие положения. 1. Настоящие Правила определяют типовые условия, в соответствии с которыми заключается договор обязательного страхования гражданской ответственности
  3. III. Преобразование
  4. Автоматическое преобразование типов
  5. Авторулевые, принципы работы, режимы работы, типовые эксплуатационные регулировки и установки
  6. Алгоритм. Рассмотрим преобразование плоскости общего положения Г(АВС) во фронтально проецирующую (Г ^ П2), но две плоскости ^ друг другу
  7. Библиографический список. Антипов А.Н. Ландшафтное планирование как инструмент управления природопользованием (на примере Байкальского региона) / А.Н
  8. Билет 29. Преобразование матрицы билинейной
  9. Билет № 22. 1. Объясните понятие и особенности сайтов различных типов: статических веб-сайтов, интернет-магазинов
  10. Билет №31. №1. 1) Гипоксия – типовой патологический процесс, возник в результате недостаточности биологического окисления и обуславл ее энергетическим необеспечением
  11. Билинейное преобразование
  12. В главе рассказывается о доступных приемах выявления отрицательных и положительных стереотипов. Не выявленный стереотип Клиента - типичная причина провала рекламной кампании


 

18.212.83.37 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.


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