Страница:
292 из 357
При преобразовании целого без знака в длинное значение результата численно совпадает со значением целого без знака. Таким образом, преобразование сводится к дополнению нулями слева.
6.6 Арифметические Преобразования
Большое количество операций вызывают преобразования и дают тип результата одинаковым образом. Этот стереотип будет называться «обычным арифметическим преобразованием».
Во-первых, любые операнды типа char, unsigned char или short преобразуются к типу int.
Далее, если один из операндов имеет тип double, то дргой преобразуется к типу double и тот же тип имеет рзультат.
Иначе, если один из операндов имеет тип unsigned long, то другой преобразуется к типу unsigned long и таков же тип результата.
Иначе, если один из операндов имеет тип long, то другой преобразуется к типу long и таков же тип результата.
Иначе, если один из операндов имеет тип unsigned, то другой преобразуется к типу unsigned и таков же тип рзультата.
Иначе оба операнда должны иметь тип int и таков же тип результата.
6.7 Преобразования Указателей
Везде, где указатели присваиваются, инициализируются, сравниваются и т.д. могут выполняться следующие преобразовния.
Константа 0 может преобразовываться в указатель, и грантируется, что это значение породит указатель, отлиный от указателя на любой объект.
Указатель любого типа может преобразовываться в void*.
|< Пред. 290 291 292 293 294 След. >|