本文介绍位运算函数的基本语法及示例。
函数名称 | 语句 | 说明 |
bit_count(x, bits) | 统计 x 的二进制表示中1的个数。 | |
bitwise_and(x, y) | 以二进制的形式对 x,y 进行与运算。 | |
bitwise_not(x) | 以二进制的形式对 x 的所有位进行取反运算。 | |
bitwise_or(x, y) | 以二进制形式对 x,y 进行或运算。 | |
bitwise_xor(x, y) | 以二进制形式对 x,y 进行异或运算。 |
bit_count 函数
bit_count 函数用于统计 x 中1的个数。
语法
bit_count(x, bits)
参数说明
参数 | 说明 |
x | 参数值为 bigint 类型。 |
bits | 位数,例如64位。 |
返回值类型
bigint 类型
示例
计算数字24的二进制数,并返回其二进制数中1的个数。
查询和分析语句
* | SELECT bit_count(24, 64)
查询和分析结果
2
bitwise_and 函数
bitwise_and 函数以二进制形式对 x 和 y 进行与运算。
语法
bitwise_and(x, y)
参数说明
参数 | 说明 |
x | 参数值为 bigint 类型。 |
y | 参数值为 bigint 类型。 |
返回值类型
bigint 类型
示例
以二进制形式对数字3和5进行与运算。
查询和分析语句
* | SELECT bitwise_and(3, 5)
查询和分析结果
1
bitwise_not 函数
bitwise_not 函数以二进制形式对 x 的所有位进行取反运算。
语法
bitwise_not(x)
参数说明
参数 | 说明 |
x | 参数值为 bigint 类型。 |
返回值类型
bigint 类型
示例
以二进制形式对数字4的所有位进行取反运算。
查询和分析语句
* | SELECT bitwise_not(4)
查询和分析结果
-5
bitwise_or 函数
bitwise_or 函数以二进制形式对 x 和 y 进行或运算。
语法
bitwise_or(x, y)
参数说明
参数 | 说明 |
x | 参数值为 bigint 类型。 |
y | 参数值为 bigint 类型。 |
返回值类型
bigint 类型
示例
以二进制形式对数字3和5进行或运算。
查询和分析语句
* | SELECT bitwise_or(3, 5)
查询和分析结果
7
bitwise_xor 函数
bitwise_xor 函数以二进制形式对 x 和 y 进行异或运算。
语法
bitwise_xor(x, y)
参数说明
参数 | 说明 |
x | 参数值为 bigint 类型。 |
y | 参数值为 bigint 类型。 |
返回值类型
bigint 类型
示例
以二进制形式对数字3和5进行异或运算。
查询和分析语句
* | SELECT bitwise_xor(3, 5)
查询和分析结果
6