This section describes functions and operators for examining and
manipulating bit strings, that is values of the types
<type>bit</type> and <type>bit varying</type>. (While only
type <type>bit</type> is mentioned in these tables, values of
type <type>bit varying</type> can be used interchangeably.)
Bit strings support the usual comparison operators shown in
<xref linkend="functions-comparison-op-table"/>, as well as the
operators shown in <xref linkend="functions-bit-string-op-table"/>.
本節ではbit
型とbit varying
型の値であるビット文字列を調べたり操作するための関数と演算子について説明します。
(この表ではbit
型だけが言及されていますが、bit varying
型も同じように使用できます。)
ビット文字列は表 9.1で示す通常の比較演算子および表 9.14で言及している演算子もサポートします。
表9.14 ビット文字列演算子
Operator 演算子 Description 説明 Example(s) 例 |
---|
Concatenation 結合
|
Bitwise AND (inputs must be of equal length) ビット単位のAND(入力は同じ長さでなければなりません)
|
Bitwise OR (inputs must be of equal length) ビット単位のOR(入力は同じ長さでなければなりません)
|
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 <xref linkend="functions-bit-string-table"/>. バイナリ文字列で利用可能な関数のいくつかは、表 9.15で示すようにビット文字列でも利用可能です。
表9.15 ビット文字列関数
In addition, it is possible to cast integral values to and from type
<type>bit</type>.
Casting an integer to <type>bit(n)</type> copies the rightmost
<literal>n</literal> bits. Casting an integer to a bit string width wider
than the integer itself will sign-extend on the left.
Some examples:
さらに、bit
型から整数値にキャストすることも整数からbit
型にキャストすることも可能です。
整数からbit(n)
にキャストすると最右端のn
ビットがコピーされます。
その整数より文字列幅が広いビットにキャストすると左のビットが符号拡張されます。
以下に例を示します。
44::bit(10) 0000101100 44::bit(3) 100 cast(-44 as bit(12)) 111111010100 '1110'::bit(4)::integer 14
Note that casting to just <quote>bit</quote> means casting to
<literal>bit(1)</literal>, and so will deliver only the least significant
bit of the integer.
単に「bit」にキャストすることはbit(1)
にキャストすることを意味することに注意してください。つまり、単に整数の最下位ビットのみが渡されることになります。