数学:按位函数
按位函数是对位模式或二进制数的一元和二元操作。使用按位函数对值进行比较和计算。按位函数只能与数字数据类型一起使用,并将生成int64结果。
重要
如果双精度值/浮点值作为参数提供,它们将被截断为64位整数。负值被视为2的补码64位整数。即,-16和-16.9999被视为0xfffffffffffff0。
BinaryAnd
BinaryAnd(n,m):返回 (n) 和 (m) 的按位“与”(AND)。如果 n 和 m 均为 1,则结果为 1,否则为 0。如果 0 与 false 相等,而 1 与 true 相等,则 BinaryAnd 运算的工作方式与逻辑 And 运算类似。注意结果值上没有小数点。结果是整数,而不是双精度值/浮点值。
示例
BinaryAnd(1,1) 返回1。
BinaryAnd(1,0) 返回 0。
BinaryAnd(12,6) 返回4。
BinaryAnd(12.99, 6.99) 返回4。
BinaryAnd(-12, 6.99) 返回4。
BinaryNot
BinaryNot(n):返回 (n) 的按位取反(NOT)。数字被视为64位补码。
示例
BinaryNot(6) 返回-7。
BinaryNot(2) 返回 3。
BinaryNot(-1) 返回 0。
BinaryNot(0) 返回 -1。
BinaryOr
BinaryOr(n,m):返回 (n) 和 (m) 的按位“或”(OR)。
示例
BinaryOr(6,6) 返回6。
BinaryOr(6,2) 返回6。
BinaryOr(4,2) 返回6。
BinaryOr(12,6) 返回14。
BinaryXOR
BinaryXOr(n,m):返回 (n) 和 (m) 的按位“异或”(XOr)。
示例
BinaryXOr(6,6) 返回 0。
BinaryXOr(6,2) 返回4。
BinaryXOr(6,12) 返回 10。
ShiftLeft
ShiftLeft(n,b):将 (n)(整数)左移 (b) 位。
ShiftRight
ShiftRight(n,b):将 (n)(整数)右移 (b) 位。
对于ShiftLeft和ShiftRight,结果是Int64,因此只有64位可用。
示例
ShiftLeft(pow(2,62),1) 返回 -pow(2,63)。再次将其移向左,您将得到零。
ShiftRight(1,1) 返回零。
ShiftRight(-1,1) 返回 Int64_Max。