INTEGRITY Документация

Битовые функции

bitAnd Новое

Использование:

bitAnd(a, b)

bitAnd возвращает побитовое И выражений a и b.

Примеры:

-- perform 0b1 & 0b11
bitAnd(1, 3)
-- extract the least significant bit of the integer value of double1
bitAnd(toUInt8(double1), 1)

bitCount Новое

Использование:

bitCount(a)

bitCount возвращает количество битов, равных единице, в двоичном представлении a.

Примеры:

-- 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 Новое

Использование:

bitHammingDistance(x, y)

bitHammingDistance возвращает количество битов, различающихся между x и y.

Примеры:

-- returns zero
bitHammingDistance(1, 1)
-- returns 2
bitHammingDistance(3, 0)

bitNot Новое

Использование:

bitNot(a)

bitNot возвращает a со всеми инвертированными битами.

Примеры:

bitNot(1)

bitOr Новое

Использование:

bitOr(a, b)

bitOr возвращает побитовое включающее ИЛИ a и b.

Примеры:

-- returns 3
bitOr(1, 2)

bitRotateLeft Новое

Использование:

bitRotateLeft(a, n)

bitRotateLeft циклически сдвигает все биты в a оставленный n позиций.

Примеры:

-- returns 2
bitRotateLeft(1, 1)
-- returns 1
bitRotateLeft(128, 1)

bitRotateRight Новое

Использование:

bitRotateRight(a, n)

bitRotateRight циклически сдвигает все биты в a вправо на n позиций.

Примеры:

-- returns 128
bitRotateRight(1, 1)
-- returns 3
bitRotateRight(12, 2)

bitShiftLeft Новое

Использование:

bitShiftLeft(a, n)

bitShiftLeft сдвигает все биты в a оставленный n позиций.

Примеры:

-- returns 2
bitShiftLeft(1, 1)
-- returns 0
bitShiftLeft(128, 1)

bitShiftRight Новое

Использование:

bitShiftRight(a, n)

bitShiftRight сдвигает все биты в a вправо на n позиций.

Примеры:

-- returns 0
bitShiftRight(1, 1)
-- returns 3
bitShiftRight(12, 2)

bitTest Новое

Использование:

bitTest(a, n)

bitTest возвращает значение бита n в числе a.

Примеры:

-- returns 1
bitTest(3, 1)
-- return 0
bitTest(2, 1)
-- select rows where a particular bit is 1
SELECT * WHERE bitTest(double1, 2)

bitXor Новое

Использование:

bitXor(a, b)

bitXor возвращает побитовое исключающее ИЛИ a и b.

Примеры:

-- returns 3
bitXor(1, 2)
-- returns 0
bitXor(3, 3)