Приведение числовых типов

Приведение числовых типов

В завершение нашего обзора операций приведения типов в C# заметим, что преобразование числовых типов подчиняется примерно таким же правилам. Чтобы поместить "больший" числовой тип в "меньший" (например, целое число int в byte), следует использовать явное приведение типов, которое информирует компилятор о том, что вы готовы принять возможную потерю данных.

// Если "х" больше предельного значения для byte, вероятна потеря

// данных, но из главы 9 вы узнаете о "контролируемых исключениях",

// с помощью которых можно управлять результатом.

int х = 6;

byte b = (byte)x;

Когда вы сохраняете "меньший" числовой тип в "большем" (например, byte в int), тип для вас будет преобразован неявно и автоматически, так как здесь нет потерь данных.

// Приведение типа не требуется,

// int достаточно "велик" для хранения byte.

byte b = 30; int x = b;

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

2.3.9 Эквивалентность типов

Из книги C++ автора Хилл Мюррей

2.3.9 Эквивалентность типов Два структурных типа являются различными даже когда они имеют одни и те же члены. Например:struct s1 (* int a; *); struct s2 (* int a; *);есть два разных типа, поэтомуs1 x; s2 y = x; // ошибка: несоответствие типовСтруктурные типы отличны также от основных типов, поэтомуs1 x;


7.2.5 Иерархия Типов

Из книги Сущность технологии СОМ. Библиотека программиста автора Бокс Дональд


8.7 Имена Типов

Из книги Программирование на языке Пролог автора Клоксин У.

8.7 Имена Типов Иногда (для неявного задания преобразования типов и в качестве параметра sizeof или new) нужно использовать имя тпа данных. Это выполняется при помощи «имени типа» которое по сути является описанием для объекта этого типа, в котором опущено имя объекта.имя_типа:


Приведение типов и IUnknown

Из книги Справочное руководство по C++ автора Страустрап Бьярн

Приведение типов и IUnknown В предыдущей главе обсуждалось, почему необходимо определять тип на этапе выполнения в динамически собранной системе. Язык C++ предусматривает разумный механизм для динамического определения типа с помощью оператора dynamic_cast. Хотя эта языковая


10.2. Приведение формул к стандартной форме

Из книги MySQL: руководство профессионала автора Паутов Алексей В

10.2. Приведение формул к стандартной форме Как было показано в предыдущем разделе, формулы исчисления предикатов, записанные с использованием связок -› (импликация) и ‹-› (эквивалентность), могут быть переписаны лишь с использованием связок& (конъюнкция), # (дизъюнкция) и


R.3.6.3 Имена типов

Из книги О чём не пишут в книгах по Delphi автора Григорьев А. Б.

R.3.6.3 Имена типов Основные и производные типы можно поименовать с помощью механизма typedef (§R.7.1.3), а семейство типов и функций можно задать и поименовать с помощью механизма шаблона типов


R.8.1 Имена типов

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

R.8.1 Имена типов Имя типа необходимо указывать при задании операции явного преобразования типа или в качестве параметра в операциях sizeof или new. Для этого служит конструкция имя-типа, которая синтаксически эквивалентна описанию объекта или функции этого типа, в котором


R.14.3 Эквивалентность типов

Из книги Стандарты программирования на С++. 101 правило и рекомендация автора Александреску Андрей

R.14.3 Эквивалентность типов Две конструкции шаблонное-имя-класса обозначают один и тот же класс, если в них совпадают имена шаблонов типа и значения указанных параметров. Например, в следующих описаниях x и y одного типа, который отличен от типа z:template‹class E, int size› class


R.18.3.4 Приведение указателей на функцию-член

Из книги Linux программирование в примерах автора Роббинс Арнольд

R.18.3.4 Приведение указателей на функцию-член Указатель на функцию-член некоторого объекта можно привести к указателю на какую-то другую функцию, например (int (*) ())p-›f. Результирующий указатель будет настроен на функцию, вызов которой будет происходить с помощью обращения к


1.1. Типы числовых значений

Из книги Язык Си - руководство для начинающих автора Прата Стивен

1.1. Типы числовых значений Контекст математической точности для операций с точным значением включает типы данных с точным значением (DECIMAL и целочисленные типы) и числовые литералы с точным значением. Типы данных с приблизительным значением и числовые литералы все еще


Безопасность типов

Из книги автора

Безопасность типов Если вы лжете компилятору, он будет мстить. — Генри Спенсер (Henry Spencer) Всегда будут вещи, которые мы будем хотеть сказать в наших программах и которые трудно сформулировать на любом языке программирования. — Алан Перлис (Alan Perlis) Последней (не по


Считывание числовых данных

Из книги автора

Считывание числовых данных      Многие программы включают считывание чисел, поэтому идеи, которые мы развиваем здесь, будут полезны везде. Общий вид первой части программы ясен: использовать цикл для считывания чисел до тех пор, пока все числа не будут считаны. Но в этом


4.14. Преобразования типов

Из книги автора

4.14. Преобразования типов Представим себе следующий оператор присваивания:int ival = 0;// обычно компилируется с предупреждениемival = 3.541 + 3;В результате ival получит значение 6. Вот что происходит: мы складываем литералы разных типов – 3.541 типа double и 3 типа int. C++ не может