Expressões bit-a-bit
Os operadores bit-a-bit são expressos como três carateres sem letra. Além das versões bit-a-bit para AND (&&&
), OR (|||
) e NOT (~~~
), também existe um XOR bit-a-bit (^^^
). Esperam operandos do tipo Int
ou BigInt
, e para operadores binários, o tipo de ambos os operandos tem de corresponder. O tipo de expressão inteira é igual ao tipo de operando(s).
Além disso, os operadores de turnos esquerdo e direito (<<<
e >>>
respetivamente) existem, multiplicando ou dividindo a expressão do lado esquerdo (lhs) dada por potências de dois. A expressão lhs <<< 3
desloca a representação de bits de lhs
por três, o que significa que lhs
é multiplicada por 2^3
, desde que ainda esteja dentro do intervalo válido para o tipo de dados de lhs
. Os lhs podem ser do tipo Int
ou BigInt
. A expressão do lado direito tem sempre de ser do tipo Int
. A expressão resultante será do mesmo tipo que o operando lhs.