This section describes functions and operators for examining and
manipulating bit strings, that is values of the types
bit
and bit varying
. (While only
type bit
is mentioned in these tables, values of
type bit varying
can be used interchangeably.)
Bit strings support the usual comparison operators shown in
표 9.1, as well as the
operators shown in 표 9.14.
표 9.14. Bit String Operators
Operator Description Example(s) |
---|
Concatenation
|
Bitwise AND (inputs must be of equal length)
|
Bitwise OR (inputs must be of equal length)
|
Bitwise exclusive OR (inputs must be of equal length)
|
Bitwise NOT
|
Bitwise shift left (string length is preserved)
|
Bitwise shift right (string length is preserved)
|
Some of the functions available for binary strings are also available for bit strings, as shown in 표 9.15.
표 9.15. Bit String Functions
In addition, it is possible to cast integral values to and from type
bit
.
Casting an integer to bit(n)
copies the rightmost
n
bits. Casting an integer to a bit string width wider
than the integer itself will sign-extend on the left.
Some examples:
44::bit(10) 0000101100 44::bit(3) 100 cast(-44 as bit(12)) 111111010100 '1110'::bit(4)::integer 14
Note that casting to just “bit” means casting to
bit(1)
, and so will deliver only the least significant
bit of the integer.