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
.