ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
971183 Топик полностью
il-2 (17.01.2020 12:50, просмотров: 219) ответил SciFi на Почему же враньё? Я так понимаю: "int8_t a, b; int16_t c = (int16_t)a * b;" вполне себе нормально работает. Если компилятор не подставил туда инструкцию типа 8x8=16 - это дурной компилятор, язык Си тут ни при чём.
"результат выражения не бывает длиннее самого длинного из операндов". Твой пример можно написать и без приведения к int16_t:  int8_t a, b; int16_t c = a * b;