Преобразование типов операндов бинарных операций

При выполнении операций могут встречаться операнды различных типов. Но для выполнения операции оба операнда должны быть преобразованы к общему типу в соответствии с небольшим набором правил.

Типы операндов преобразуются к общему типу в порядке увеличения их "допустимого диапазона значений". Поэтому неявные преобразования всегда идут от "меньших" объектов к "большим". Схема выполнения преобразований операндов арифметических операций:

 

short, char ® int ® unsigned ® long ® double

float ® double

При этом действуют следующие правила:

- значения типов char и short всегда преобразуются в int (даже если оба операнда имеют одинаковый тип);

- аналогично, значения типа float всегда преобразуются в double;

- после этого определяется "старший" из двух типов операндов, и другой операнд преобразуется к этому типу. Порядок "старшинства":

 

long double

double

unsigned long long

long long

unsigned long

long

unsigned int

int

 

Внимание: результатом 1/3 будет «0», чтобы избежать такого рода ошибок необходимо явно изменять тип хотя бы одного операнда, т.е. записывать, например: 1./3.

Типы char и int могут свободно смешиваться в арифметических выражениях, при этом каждая переменная типа char автоматически преобразуется в int. Это обеспечивает значительную гибкость при проведении определенных преобразований символов.

 








Дата добавления: 2015-09-18; просмотров: 639;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.