You need to enable JavaScript to run this app.
导航
位操作函数
最近更新时间:2025.02.18 11:55:16首次发布时间:2022.02.28 12:33:06

bitTest

取任意整数并将其转换为[二进制形式]。
语法

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              │
└────────────────┘

bitTestAll

返回给定位置上所有位的 [逻辑与](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) 当且仅当其所有位置都为真 ( index1index2, ⋀ index3index4) 时才为真。

返回值
返回逻辑连接的结果。
类型: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                             │
└───────────────────────────────┘

bitTestAny

返回给定位置上所有位的 [逻辑或](或运算符)的结果。从右到左,倒数从 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                    │
└──────────────────────┘