5.5 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
48 | ビット |
ビット関数
ビット関数は、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 │
└───────────────┘