使い方:
bitAnd(a, b)bitAnd は、式 a と b のビット単位 AND を返します。
例:
-- perform 0b1 & 0b11
bitAnd(1, 3)
-- extract the least significant bit of the integer value of double1
bitAnd(toUInt8(double1), 1)使い方:
bitCount(a)bitCount は、a のバイナリ表現で 1 になっているビットの数を返します。
例:
-- get the number of 1 bits in the binary representation of the float `double1`
bitCount(double1)
-- get the number of 1 bits in the binary representation of `double1` as an integer
bitCount(toUInt32(double1))
-- select rows where at least 5 bits are 1
SELECT * WHERE bitCount(double1) > 5使い方:
bitHammingDistance(x, y)bitHammingDistance は、x と y で異なるビットの数を返します。
例:
-- returns zero
bitHammingDistance(1, 1)
-- returns 2
bitHammingDistance(3, 0)使い方:
bitNot(a)bitNot は、a のすべてのビットを反転した値を返します。
例:
bitNot(1)使い方:
bitOr(a, b)bitOr は、a と b の包含的ビット単位 OR を返します。
例:
-- returns 3
bitOr(1, 2)使い方:
bitRotateLeft(a, n)bitRotateLeft は、a のすべてのビットを左に n 桁回転します。
例:
-- returns 2
bitRotateLeft(1, 1)
-- returns 1
bitRotateLeft(128, 1)使い方:
bitRotateRight(a, n)bitRotateRight は、a のすべてのビットを右に n 桁回転します。
例:
-- returns 128
bitRotateRight(1, 1)
-- returns 3
bitRotateRight(12, 2)使い方:
bitShiftLeft(a, n)bitShiftLeft は、a のすべてのビットを左に n 桁シフトします。
例:
-- returns 2
bitShiftLeft(1, 1)
-- returns 0
bitShiftLeft(128, 1)使い方:
bitShiftRight(a, n)bitShiftRight は、a のすべてのビットを右に n 桁シフトします。
例:
-- returns 0
bitShiftRight(1, 1)
-- returns 3
bitShiftRight(12, 2)使い方:
bitTest(a, n)bitTest は、数値 a のビット n の値を返します。
例:
-- returns 1
bitTest(3, 1)
-- return 0
bitTest(2, 1)
-- select rows where a particular bit is 1
SELECT * WHERE bitTest(double1, 2)使い方:
bitXor(a, b)bitXor は、a と b の排他的ビット単位 OR を返します。
例:
-- returns 3
bitXor(1, 2)
-- returns 0
bitXor(3, 3)