9.6. Функции и операторы для битовых строк#
9.6. Функции и операторы для битовых строк #
Этот раздел описывает функции и операторы для изучения и
манипулирования битовыми строками, то есть значениями типов
bit
и bit varying
. (Хотя в этих таблицах упоминается только
тип bit
, значения типа bit varying
могут использоваться взаимозаменяемо).
Битовые строки поддерживают обычные операторы сравнения, показанные в
Таблица 9.1, а также
операторы, показанные в Таблица 9.14.
Таблица 9.14. Операторы битовых строк
Оператор Описание Пример(ы) |
---|
Конкатенация
|
Побитовое И (входные данные должны быть одинаковой длины)
|
Побитовое ИЛИ (входные данные должны быть одинаковой длины)
|
Исключающее ИЛИ побитовое (входные данные должны быть одинаковой длины)
|
Побитовое НЕ
|
Побитовый сдвиг влево (длина строки сохраняется)
|
Побитовый сдвиг вправо (длина строки сохраняется)
|
Все функции, доступные для двоичных строк, также доступны для битовых строк, как показано в Таблица 9.15.
Таблица 9.15. Функции для работы с битовыми строками
Кроме того, возможно приведение целочисленных значений к типу bit
.
Приведение целого числа к типу bit(n)
копирует n
самых правых битов.
Приведение целого числа к битовой строке шире самого числа будет расширять знак слева.
Некоторые примеры:
44::bit(10) 0000101100 44::bit(3) 100 cast(-44 as bit(12)) 111111010100 '1110'::bit(4)::integer 14
Обратите внимание, что приведение типа к “bit” означает приведение к bit(1)
, и поэтому будет возвращать только младший бит целого числа.