Страница 1 из 1

Keil предупреждение #61-D: integer operation result is out of range

Добавлено: 11 дек 2014, 23:06
admin
Написан следующий код:

Код: Выделить всё

unsigned int i;
i = (u32)(3<<30);
После компиляции генерируется предупреждение о переполнении компилятора:
warning: #61-D: integer operation result is out of range

Чтобы этого избежать, необходимо явно определить константу 3 в беззнаковое значение с помощью суффикса U.

Например:

Код: Выделить всё

unsigned int i;
i = (u32)(3U<<30);