Уменьшите силу реализации сдвига влевоC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Уменьшите силу реализации сдвига влево

Сообщение Anonymous »

Я создаю игрушечный язык сценариев, на котором подписываются целые числа, 64 бита. Язык поддерживает перестановку битов, включая сдвиг.
Я хочу иметь четко определенную семантику для сдвига одного целого числа на другое. То есть: a > b всегда действительны. Для сдвига влево счетчик сдвига «b» ограничивается значением [0, 64], при этом 64 приводит к целочисленному значению 0 (сдвинуто 64 целых числа).
Это текущий код операции. обработчик для сдвига влево.
Мой вопрос: может ли кто-нибудь придумать способ снизить надежность этого кода, чтобы сделать его выполнение менее затратным. Если бы зажим и тернарный код можно было объединить в одно выражение, это было бы идеально.
Языком реализации является C++
// Script example code: l

Подробнее здесь: https://stackoverflow.com/questions/782 ... ementation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»