Skip to main content

Matemática: funções bit a bit

Uma função bit a bit opera em um ou mais padrões de bit ou numerais binários no nível de seus bits individuais. Use uma função bit a bit para manipular valores para comparações e cálculos. Bitwise functions can only be used with Number data types and will produce an INT64 result.

Importante

If double/float values are given as arguments, they are truncated to 64-bit integers. Negative values are treated as two’s complement, 64-bit integer numbers. That is, -16 and -16.9999 are treated as 0xfffffffffffffff0.

BinaryAnd

BinaryAnd(n,m) : retorna um binário AND de (n) e (m). O resultado é 1 se ambos n e m forem 1; senão, o resultado é 0. Se 0 for equiparado a "falso" e 1 a "verdadeiro", a operação BinaryAnd funciona como um AND lógico. Note the absence of the decimal point on the result values. The result is an integer, not a double/float value.

Exemplo

BinaryAnd(1,1) retorna 1.

BinaryAnd(1,0) retorna 0.

BinaryAnd(12,6) returns 4.

BinaryAnd(12.99, 6.99) returns 4.

BinaryAnd(-12, 6.99) returns 4.

BinaryNot

BinaryNot(n) : retorna um binário NOT de (n). Numbers are treated as 64-bit, two's complement numbers.

Exemplo

BinaryNot(6) returns -7.

BinaryNot(2) retorna "3".

BinaryNot(-1) retorna 0.

BinaryNot(0) retorna -1.

BinaryOr

BinaryOr(n,m) : retorna um binário OR de (n) e (m).

Exemplo

BinaryOr(6,6) returns 6.

BinaryOr(6,2) returns 6.

BinaryOr(4,2) returns 6.

BinaryOr(12,6) returns 14.

BinaryXOR

BinaryXOr(n,m) : retorna um binário XOR de (n) e (m).

Exemplo

BinaryXOr(6,6) retorna 0.

BinaryXOr(6,2) returns 4.

BinaryXOr(6,12) retorna "10".

ShiftLeft

ShiftLeft(n,b) : desloca (n) à esquerda (como número inteiro) por (b) bits.

ShiftRight

ShiftRight(n,b) : desloca (n) à direita (como número inteiro) por (b) bits.

For both ShiftLeft and ShiftRight the result is an Int64, so only 64 bits are available.

Exemplo

ShiftLeft(pow(2,62),1) returns -pow(2,63) . Shift it left once more and you get zero.

ShiftRight(1,1) returns zero.

ShiftRight(-1,1) returns Int64_Max .