Help wanted!
The following content of this documentation page has been machine-translated. But unlike other websites, it is not done on the fly. This translated text lives on GitHub repository alongside main ClickHouse codebase and waits for fellow native speakers to make it more human-readable. You can also use the original English version as a reference.
ビット関数
ビット関数は、UInt8、UInt16、UInt32、UInt64、Int8、Int16、Int32、Int64、Float32、Float64のいずれかの型のペアに対しても機能します。
結果の型は、引数の最大ビットに等しいビットを持つ整数です。 引数のうち少なくともいずれかが署名されている場合、結果は符号付き番号になります。 引数が浮動小数点数の場合は、Int64にキャストされます。
ビタン(a,b)
ビター(a,b)
bitXor(a,b)
bitNot(a)
ビットシフトレフト(a,b)
ビットシフトライト(a,b)
ビットロタテレフト(a,b)
ビットロータライト(a,b)
bitTest
間の任意の整数に換算しています。 バイナリ形式,指定された位置にあるビットの値を返します。 カウントダウンは右から左に0から始まります。
構文
SELECT bitTest(number, index)
パラメータ
number
– integer number.index
– position of bit.
戻り値
指定された位置にあるbitの値を返します。
タイプ: UInt8
.
例
たとえば、基数43-2(二進数)の数値システムでは101011です。
クエリ:
SELECT bitTest(43, 1)
結果:
┌─bitTest(43, 1)─┐
│ 1 │
└────────────────┘
別の例:
クエリ:
SELECT bitTest(43, 2)
結果:
┌─bitTest(43, 2)─┐
│ 0 │
└────────────────┘
ビッテスタール
の結果を返します 論理結合 指定された位置にあるすべてのビットの(and演算子)。 カウントダウンは右から左に0から始まります。
ビットごとの演算のための結合:
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
構文
SELECT bitTestAll(number, index1, index2, index3, index4, ...)
パラメータ
number
– integer number.index1
,index2
,index3
,index4
– positions of bit. For example, for set of positions (index1
,index2
,index3
,index4
)は、すべての位置が真である場合にのみtrueです (index1
⋀index2
, ⋀index3
⋀index4
).
戻り値
論理結合の結果を返します。
タイプ: UInt8
.
例
たとえば、基数43-2(二進数)の数値システムでは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 OR 0 = 0
0 OR 1 = 1
1 OR 0 = 1
1 OR 1 = 1
構文
SELECT bitTestAny(number, index1, index2, index3, index4, ...)
パラメータ
number
– integer number.index1
,index2
,index3
,index4
– positions of bit.
戻り値
論理解釈の結果を返します。
タイプ: UInt8
.
例
たとえば、基数43-2(二進数)の数値システムでは101011です。
クエリ:
SELECT bitTestAny(43, 0, 2)
結果:
┌─bitTestAny(43, 0, 2)─┐
│ 1 │
└──────────────────────┘
別の例:
クエリ:
SELECT bitTestAny(43, 4, 2)
結果:
┌─bitTestAny(43, 4, 2)─┐
│ 0 │
└──────────────────────┘
ビット数
数値のバイナリ表現で一つに設定されたビット数を計算します。
構文
bitCount(x)
パラメータ
戻り値
- 入力番号の一つに設定されたビット数。
この関数は、入力値をより大きな型に変換しません (符号拡張). 例えば, bitCount(toUInt8(-1)) = 8
.
タイプ: UInt8
.
例
たとえば、数333を取る。 そのバイナリ表現:00000000101001101。
クエリ:
SELECT bitCount(333)
結果:
┌─bitCount(333)─┐
│ 5 │
└───────────────┘