ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1054849 Топик полностью
Kceния (24.11.2020 12:22, просмотров: 81) ответил Sl на Как грамотно сделать преобразование типа с int16_t в int32_t? int32_t I32Var1; int16_t I16Var2; I32Var1 = (int32_t )I16Var2; "Неправильно" работает когда I16Var2 имеет отрицательное значение. Я конечно могу в рукопашную, если I16Var2 меньше нуля, добавить 0xFFFF0000 к I32Var1 после пребразования. Но хочется сделать это правильно и красиво.
"Неправильно" работать может только в том случае, когда I16Var2 определена как uint_t. А если оба int-ы, то знак обязан расширяться автоматически. А красиво писать так: "I32Var1 = I16Var2;" :)