UInt8、UInt16、UInt32、UInt64、Int8、Int16、Int32、Int64、Float32 或 Float64 中任意一对类型。某些函数还支持 String 和 FixedString 类型。
结果类型为整数,其位数等于各参数中的最大位数。如果参数中至少有一个是有符号类型,则结果为有符号整数。如果参数是浮点数,则会将其转换为 Int64。
bitAnd
a AND b 的结果。
示例
使用示例
Query
Response
bitCount
x 中值为 1 的位数。UInt8。
该函数不会将输入值转换为更大的类型 (符号扩展) 。
例如:
bitCount(toUInt8(-1)) = 8。Query
Response
bitHammingDistance
SimHash 函数结合使用,以检测近似重复字符串。
距离越小,字符串越相似。
语法
x 和 y 之间的 Hamming 距离。UInt8
示例
使用示例
Query
Response
bitNot
~a 的结果,即将 a 的各个位取反后的值。
示例
使用示例
Query
Response
bitOr
a 或 b 的结果
示例
使用示例
Query
Response
bitRotateLeft
a— 要旋转的值。(U)Int8/16/32/64N— 左旋的位数。UInt8/16/32/64
a 相同。(U)Int8/16/32/64
示例
使用示例
Query
Response
bitRotateRight
a— 要旋转的值。(U)Int8/16/32/64N— 向右旋转的位置数。UInt8/16/32/64
a 相同。(U)Int8/16/32/64
示例
使用示例
Query
Response
bitShiftLeft
FixedString 或 String 会被视为一个单一的多字节值。
FixedString 值在移出时,移出的位会丢失。
相反,String 值会扩展额外的字节,因此不会丢失任何位。
语法
a— 要移位的值。(U)Int*或String或FixedStringN— 移位的位数。UInt8/16/32/64
a 相同。
示例
二进制编码的用法示例
Query
Response
Query
Response
Query
Response
bitShiftRight
FixedString 或 String 会被视为一个多字节值。
FixedString 值在移出后,其位会丢失。
相反,String 值会通过附加额外字节进行扩展,因此不会丢失任何位。
语法
a— 要移位的值。(U)Int*或String或FixedStringN— 移位的位数。UInt8/16/32/64
a 相同。
示例
二进制编码用法示例
Query
Response
Query
Response
Query
Response
bitSlice
-
s— 要截取的String或FixedString。String或FixedString -
offset— 起始位位置 (从 1 开始计数) 。 - 正值:从字符串开头开始计数。
-
负值:从字符串末尾开始计数。
(U)Int8/16/32/64或Float* -
length— 可选。要提取的位数。 -
正值:提取
length位。 -
负值:从
offset提取到(string_length - |length|)。 -
省略时:从
offset提取到字符串末尾。 -
如果
length不是 8 的倍数,结果会在右侧用零填充。(U)Int8/16/32/64或Float*
String
示例
使用示例
Query
Response
bitTest
a— 要转换的数值。(U)Int8/16/32/64或Float*i— 要返回的位的位置。(U)Int8/16/32/64或Float*
a 的二进制表示中第 i 位的值 UInt8
示例
使用示例
Query
Response
bitTestAll
a— 整数值。(U)Int8/16/32/64index1, ...— 一个或多个位的位置。(U)Int8/16/32/64
UInt8
示例
用法示例 1
Query
Response
Query
Response
bitTestAny
a— 整数值。(U)Int8/16/32/64index1, ...— 一个或多个位的位置。(U)Int8/16/32/64
UInt8
示例
用法示例 1
Query
Response
Query
Response
bitXor
a XOR b 的结果
示例
用法示例
Query
Response