Skip to main content

Mathématiques : fonctions au niveau du bit

Une fonction au niveau du bit s’applique à un ou plusieurs modèles binaires ou numériques binaires au niveau de leurs bits individuels. Utilisez une fonction au niveau du bit pour manipuler les valeurs dans le cadre de comparaisons et de calculs. Bitwise functions can only be used with Number data types and will produce an INT64 result.

Important

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) : renvoie une valeur binaire de (n) et (m). Le résultat est 1 si n et m sont tous deux 1, sinon 0. Si 0 est assimilé à false et 1 à true, l’opération BinaryAnd fonctionne comme un AND logique. Note the absence of the decimal point on the result values. The result is an integer, not a double/float value.

Exemple

BinaryAnd(1,1) renvoie 1.

BinaryAnd(1,0) renvoie 0

BinaryAnd(12,6) renvoie 4

BinaryAnd(12.99, 6.99) renvoie 4

BinaryAnd(-12, 6.99) renvoie 4

BinaryNot

BinaryNot(n) : renvoie une valeur binaire NOT de (n). Numbers are treated as 64-bit, two's complement numbers.

Exemple

BinaryNot(6) renvoie -7

BinaryNot(2) renvoie 3.

BinaryNot(-1) renvoie 0

BinaryNot(0) renvoie -1.

BinaryOr

BinaryOr(n,m) : renvoie une valeur binaire OR de (n) et (m).

Exemple

BinaryOr(6,6) renvoie la valeur 6

BinaryOr(6,2) renvoie la valeur 6

BinaryOr(4,2) renvoie la valeur 6

BinaryOr(12,6) returns 14.

BinaryXOR

BinaryXOr(n,m) : renvoie une valeur binaire XOR de (n) et (m).

Exemple

BinaryXOr(6,6) renvoie 0

BinaryXOr(6,2) renvoie 4

BinaryXOr(6,12) renvoie 10.

ShiftLeft

ShiftLeft(n,b) : décale (n) (un entier) à gauche de (b) bits.

ShiftRight

ShiftRight(n,b) : décale (n) (un entier) à droite de (b) bits.

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

Exemple

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 .