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

Программирование микроконтроллеров NXP. Программы, библиотеки, документация, средства разработки, отладки и прочее...
Ответить
Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

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

Сообщение admin » 11 дек 2014, 23:06

Написан следующий код:

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

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);

Ответить