メインコンテンツへスキップ
ビット関数は、UInt8UInt16UInt32UInt64Int8Int16Int32Int64Float32Float64 の任意の組み合わせの型に対して動作します。一部の関数は、String 型および FixedString 型もサポートしています。 結果の型は、引数の中で最大のビット数を持つ整数型になります。少なくとも 1 つの引数が符号付きの場合、結果は符号付き整数になります。引数が浮動小数点数の場合は、Int64 にキャストされます。

bitAnd

導入バージョン: v1.1.0 2つの値に対してビット単位のAND演算を行います。 構文
引数 戻り値 ビット単位の演算 a AND b の結果を返します 使用例
Query
Response

bitCount

導入バージョン: v20.3.0 数値のバイナリ表現において、1 であるビットの数を計算します。 構文
引数
  • x — 整数または浮動小数点数。(U)Int* または Float*
戻り値 x のうち、1 に設定されているビットの数を返します。UInt8
この関数は、入力値をより大きい型に変換しません (符号拡張) 。 例: bitCount(toUInt8(-1)) = 8
使用例
Query
Response

bitHammingDistance

導入バージョン: v21.1.0 2 つの数値のビット表現間の ハミング距離 を返します。 ほぼ重複した文字列の検出には、SimHash 関数と組み合わせて使用できます。 距離が小さいほど、文字列同士はより類似しています。 構文
引数
  • x — ハミング距離の計算に使用する1番目の数値。(U)Int* または Float*
  • y — ハミング距離の計算に使用する2番目の数値。(U)Int* または Float*
戻り値 xy のハミング距離を返します UInt8 使用例
Query
Response

bitNot

導入バージョン: v1.1.0 ビット単位の NOT 演算を行います。 構文
引数
  • a — ビット単位の NOT 演算を適用する値。(U)Int* または Float* または String
戻り値 ~a の結果、つまり a の各ビットを反転した値を返します。 使用例
Query
Response

bitOr

導入バージョン: v1.1.0 2つの値の間でビット単位の OR 演算を実行します。 構文
引数 戻り値 ビット単位の演算 a OR b の結果を返します 使用例
Query
Response

bitRotateLeft

導入バージョン: v1.1.0 ビットを指定した位置数だけ左に回転します。あふれたビットは右側に回り込みます。 構文
引数 戻り値 a と同じ型の、ローテーション後の値を返します。(U)Int8/16/32/64 使用例
Query
Response

bitRotateRight

導入バージョン: v1.1.0 ビットを指定した数だけ右に回転します。右端からあふれたビットは左端に回り込みます。 構文
引数 戻り値 a と同じ型の回転後の値を返します。(U)Int8/16/32/64 使用例
Query
Response

bitShiftLeft

導入バージョン: v1.1.0 値のバイナリ表現を、指定したビット数だけ左にシフトします。 FixedString または String は、1 つの複数バイト値として扱われます。 FixedString の値は、シフトによって外に押し出されたビットが失われます。 一方、String の値は追加のバイトで拡張されるため、ビットは失われません。 構文
引数 戻り値 a と同じ型のシフト後の値を返します。 バイナリエンコーディングの使用例
Query
Response
16進エンコーディングでの使用例
Query
Response
Fixed Stringエンコーディングの使用例
Query
Response

bitShiftRight

導入バージョン: v1.1.0 値のバイナリ表現を、指定した数のビット位置だけ右にシフトします。 FixedString または String は、1 つのマルチバイト値として扱われます。 FixedString の値では、シフトによって外に出たビットは失われます。 一方、String の値は追加のバイトで拡張されるため、ビットは失われません。 構文
引数 戻り値 a と同じ型のシフト後の値を返します。 バイナリエンコーディングでの使用例
Query
Response
16進エンコーディングを使用した使用例
Query
Response
Fixed Stringエンコーディングの使用例
Query
Response

bitSlice

導入バージョン: v22.2.0 ‘offset’ 番目のビットから始まる、長さが ‘length’ ビットの部分文字列を返します。 構文
引数
  • s — スライス対象の String または FixedStringString または FixedString
  • offset — 開始ビット位置を指定します (1 始まり) 。
  • 正の値: 文字列の先頭から数えます。
  • 負の値: 文字列の末尾から数えます。 (U)Int8/16/32/64 または Float*
  • length — 省略可能。抽出するビット数です。
  • 正の値: length ビットを抽出します。
  • 負の値: offset から (string_length - |length|) までを抽出します。
  • 省略時: offset から文字列の末尾までを抽出します。
  • length が 8 の倍数でない場合、結果の右側は 0 で埋められます。 (U)Int8/16/32/64 または Float*
戻り値 抽出されたビットを含む文字列を返します。ビットは 2 進数列として表されます。結果は常にバイト境界 (8 ビットの倍数) に合わせてパディングされます String 使用例
Query
Response

bitTest

導入バージョン: v1.1.0 任意の数値を 2 進数表現 に変換し、指定した位置のビットの値を返します。位置は右から左へ、0 から数えます。 構文
引数 戻り値 a のバイナリ表現における位置 i のビット値を返します。UInt8 使用例
Query
Response

bitTestAll

導入バージョン: v1.1.0 指定した位置にあるすべてのビットに対する論理積 (AND 演算子) の結果を返します。 ビット位置は右から左へ、0 から数えます。 2 つのビットの論理 AND は、両方の入力ビットが true の場合に限り true になります。 構文
引数 戻り値 論理積の結果を UInt8 で返します 使用例 1
Query
Response
使用例 2
Query
Response

bitTestAny

導入バージョン: v1.1.0 数値内の指定された位置にあるすべてのビットに対して、論理和 (OR 演算子) を取った結果を返します。 ビット位置は 0 から始まり、右から左に数えます。 2 つのビットの論理 OR は、入力ビットの少なくとも一方が true であれば true になります。 構文
引数 戻り値 論理和の結果を返します。UInt8 使用例 1
Query
Response
使用例 2
Query
Response

bitXor

導入バージョン: v1.1.0 2 つの値に対して、ビット単位の排他的論理和 (XOR) 演算を実行します。 構文
引数 戻り値 ビット単位の演算 a XOR b の結果を返します 使用例
Query
Response
最終更新日 2026年6月10日