Skip to main content

Matematica: funzioni bit per bit

Una funzione bit per bit opera su uno o più modelli di bit o numeri binari a livello dei singoli bit. Utilizza una funzione bit per bit per modificare i valori per confronti e calcoli. 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) : restituisce un binario di (n) e (m). Il risultato è 1 se n e m sono uguali a 1, altrimenti è 0. Se 0 è uguale a False e 1 a True, l'operazione BinaryAnd funziona come un And logico. Note the absence of the decimal point on the result values. The result is an integer, not a double/float value.

Esempio

BinaryAnd(1,1) restituisce 1.

BinaryAnd(1,0) restituisce 0.

BinaryAnd(12,6) returns 4.

BinaryAnd(12.99, 6.99) returns 4.

BinaryAnd(-12, 6.99) returns 4.

BinaryNot

BinaryNot(n) : restituisce un NOT binario di (n). Numbers are treated as 64-bit, two's complement numbers.

Esempio

BinaryNot(6) returns -7.

BinaryNot(2) restituisce 3.

BinaryNot(-1) restituisce 0.

BinaryNot(0) restituisce -1.

BinaryOr

BinaryOr(n,m) : restituisce un OR binario di (n) e (m).

Esempio

BinaryOr(6,6) returns 6.

BinaryOr(6,2) returns 6.

BinaryOr(4,2) returns 6.

BinaryOr(12,6) returns 14.

BinaryXOR

BinaryXOr(n,m) : restituisce un XOR binario di (n) e (m).

Esempio

BinaryXOr(6,6) restituisce 0.

BinaryXOr(6,2) returns 4.

BinaryXOr(6,12) restituisce 10.

ShiftLeft

ShiftLeft(n,b) : sposta a sinistra (n) (come numero intero) di (b) bit.

ShiftRight

ShiftRight(n,b) : sposta a destra (n) (come numero intero) di (b) bit.

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

Esempio

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 .