От типа | К типу | Метод |
unsigned char | char | сохранение битового представления; старший бит становится знаковым |
unsigned char | short | дополнение нулевыми битами |
unsigned char | long | дополнение нулевыми битами |
unsigned char | unsigned short | дополнение нулевыми битами |
unsigned char | unsigned long | дополнение нулевыми битами |
unsigned char | float | дополнение нулевыми битами до long; преобразование long к float |
unsigned char | double | дополнение нулевыми битами до long; преобразование long к double |
unsigned short | char | сохранение младшего байта |
unsigned short | short | сохранение битового представления; старший бит становится знаковым |
unsigned short | long | дополнение нулевыми битами |
unsigned short | unsigned char | сохранение младшего байта |
unsigned short | unsigned long | дополнение нулевыми битами |
unsigned short | float | дополнение нулевыми битами до long; преобразование long к float |
unsigned short | double | дополнение нулевыми битами до long; преобразование long к double |
unsigned long | char | сохранение младшего байта |
unsigned long | short | сохранение младшего слова |
unsigned long | long | сохранение битового представления; старший бит становится знаковым |
unsigned long | unsigned char | сохранение младшего байта |
unsigned long | unsigned short | сохранение младшего слова |
unsigned long | float | преобразование к long; преобразование long к float |
unsigned long | double | преобразование к long; преобразование long к double (в версии 5 СП MSC это преобразование производится напрямую, без промежуточного типа long) |
Примечание
Преобразование плавающих типов Значения типа float преобразуются к типу double без потери точности. Значения типа double при преобразовании к типу float представляются с некоторой потерей точности. Однако если порядок значения типа double слишком велик для представления экспонентой значения типа float, то происходит потеря значимости, о чем сообщается во время выполнения.
Значения с плавающей точкой преобразуются к целым типам в два приема: сначала производится преобразование к типу long, а затем преобразование этого значения типа long к требуемому типу. Дробная часть плавающего значения отбрасывается при преобразовании к long; если полученное значение слишком велико для типа long, то результат преобразования не определен. Правила преобразования плавающих типов приведены в таблице 4.4.
Таблица 4.4.