Поделиться через


Выражения битовых операций

Битовые операторы выражаются с помощью трех небуквенных символов. В дополнение к битовым версиям И (&&&), ИЛИ (|||) и НЕ (~~~), также существует битовая операция исключающего ИЛИ (^^^). Они ожидают операнды типа Int или BigInt, а для бинарных операторов тип обоих операндов должен совпадать. Тип всего выражения равен типу операндов.

Кроме того, существуют операторы сдвига влево и вправо (<<< и >>> соответственно), которые умножают или делят данное выражения с левой стороны на степени двух. Выражение lhs <<< 3 сдвигает битовое представление lhs на три, то есть lhs умножается на 2^3, если при этом не произойдет выхода за допустимый диапазон для типа данных lhs. Левая сторона может иметь тип Int или BigInt. Выражение правой стороны всегда должно иметь тип Int. Результирующее выражение будет иметь тот же тип, что и операнд левой стороны.