| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Приведение типов |
| Автор: Randajad 15.8.2012, 13:32 | ||
| Всем привет! http://liveworkspace.org/code/46e0eaec28a08d1c23aaf0e31f0c9b62 http://liveworkspace.org/code/0b9fc64ce7493adfde0f4cb4eb657852 Разные результаты. Почему? Компилятор конструкцию вида:
Превращает в: short k = (short)j + c; Что-ли? |
| Автор: korian 15.8.2012, 14:06 |
| Компилятор конструкцию вида, превращает в short k = (short)((int)j + (int)c); |
| Автор: Randajad 15.8.2012, 14:15 |
| Почему int? А если там 64 битные переменные? |
| Автор: korian 15.8.2012, 14:43 |
| Я точно не помню, но где-то так: Для проведения любой операции над встроенными типами: если один из операндов больше другого, он кастится в больший тип. если целочисленный операнд меньше int, он как минимум кастится в инт. если операнд с плавающей точкой меньше double, он как минимум кастится в double |
| Автор: Randajad 15.8.2012, 21:41 |
| Спасибо большое! |