取任意整数并将其转换为[二进制形式]。
语法
SELECT bitTest(number, index)
参数
number
– 整数。index
– 位的位置。返回值
返回指定位置的位值。
类型:UInt8
。
示例
例如,二进制数字系统中的数字 43 是 101011。
SELECT bitTest(43, 1);
结果:
┌─bitTest(43, 1)─┐ │ 1 │ └────────────────┘
另一个示例:
SELECT bitTest(43, 2);
结果:
┌─bitTest(43, 2)─┐ │ 0 │ └────────────────┘
返回给定位置上所有位的 [逻辑与](AND 运算符)的结果。从右到左,倒数从 0 开始。
按位运算的结合:
0 与 0 = 0
0 和 1 = 0
1 与 0 = 0
1 和 1 = 1
语法
SELECT bitTestAll(number, index1, index2, index3, index4, ...)
参数
number
– 整数。index1
, index2
, index3
, index4
– 位的位置。例如,对于位置集 ( index1
, index2
, index3
, index4
) 当且仅当其所有位置都为真 ( index1
⋀ index2
, ⋀ index3
⋀ index4
) 时才为真。返回值
返回逻辑连接的结果。
类型:UInt8
。
示例
例如,二进制数字系统中的数字 43 是 101011。
SELECT bitTestAll(43, 0, 1, 3, 5);
结果:
┌─bitTestAll(43, 0, 1, 3, 5)─┐ │ 1 │ └────────────────────────────┘
另一个示例:
SELECT bitTestAll(43, 0, 1, 3, 5, 2);
结果:
┌─bitTestAll(43, 0, 1, 3, 5, 2)─┐ │ 0 │ └───────────────────────────────┘
返回给定位置上所有位的 [逻辑或](或运算符)的结果。从右到左,倒数从 0 开始。
按位运算的析取:
0 或 0 = 0
0 或 1 = 1
1 或 0 = 1
1 或 1 = 1
语法
SELECT bitTestAny(number, index1, index2, index3, index4, ...)
参数
number
– 整数。index1
, index2
, index3
, index4
– 位的位置。返回值
返回逻辑分解的结果。
类型:UInt8
。
示例
例如,二进制数字系统中的数字 43 是 101011。
SELECT bitTestAny(43, 0, 2);
结果:
┌─bitTestAny(43, 0, 2)─┐ │ 1 │ └──────────────────────┘
另一个示例:
SELECT bitTestAny(43, 4, 2);
结果:
┌─bitTestAny(43, 4, 2)─┐ │ 0 │ └──────────────────────┘