Задайте, заменить ли умножение степенями двойки с поразрядными сдвигами со знаком. Некоторые стандарты кодирования, такие как MISRA, не позволяют битовые операции на целых числах со знаком. Очистка этой опции увеличивает вероятность генерации MISRA C® совместимый код.
Генерация кода Category:> Стиль кода
Значение по умолчанию: на
Сгенерируйте код, который заменяет умножение степенями двойки с поразрядными сдвигами со знаком.
Например, когда вы выбираете эту опцию, умножение 8 лево-переключено в сгенерированном коде:
Y.Out1 = (U.In1 << ((int8_T)3));
Точно так же умножение 16 лево-переключено в сгенерированном коде:
Y.Out4 = (U.In2 << ((int8_T)4));
Не позволяйте замену умножения степенями двойки со сдвигами со знаком. Очистка этой опции поддерживает MISRA C соответствие.
Например, когда вы очищаете эту опцию, умножение 8 не заменяется поразрядными сдвигами:
Y.Out1 = U.In1 * ((int64_T)8);
Точно так же умножение 16 не заменяется поразрядными сдвигами:
Y.Out4 = U.In2 * ((int32_T)16);
Параметр: EnableSignedLeftShifts |
Ввод: символьный вектор |
Значение: 'on' | 'off' |
Значение по умолчанию: 'on' |
Приложение | Установка |
---|---|
Отладка | Никакое влияние |
Трассируемость | Никакое влияние |
Эффективность | На |
Меры безопасности | Никакое влияние |