Переполнение при преобразовании между целыми числами со знаком и без знака
Этот дефект возникает при преобразовании целого числа без знака в целое число со знаком. Если у переменной недостаточно байтов для представления как исходной константы, так и знакового бита, преобразование переполняется.
Точное распределение ресурсов хранения для различных типов с плавающей запятой зависит от процессора. Посмотрите Target processor type (-target).
Исправление зависит от первопричины дефекта. Часто детали результата показывают последовательность событий, которые привели к дефекту. Исправление может быть реализовано для любого события в последовательности. Если сведения о результатах не отображают историю событий, можно выполнить обратную трассировку, щелкнув правой кнопкой мыши параметры в исходном коде и просмотреть предыдущие связанные события. См. также раздел Интерпретация результатов поиска ошибок в интерфейсе пользователя Polyspace Desktop.
См. примеры исправлений ниже.
Если вы не хотите устранять проблему, добавьте комментарии к результату или коду, чтобы избежать другой проверки. См. раздел Результаты анализа пространства адресов с помощью исправлений ошибок или обоснований.
| Группа: Числовые |
| Язык: C | C++ |
| По умолчанию: Вкл. |
Синтаксис командной строки: SIGN_CHANGE |
| Воздействие: среднее |
| CWE ID: 192, 194, 195, 196 |
Find defects (-checkers) | Float conversion overflow | Integer conversion overflow | Unsigned integer conversion overflow