日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

位串函數和操作符

本節描述用于檢查和操作位串的函數和操作符,也就是操作類型為bitbit varying的值的函數和操作符。 (雖然這些表中只提到了bit類型,但bit varying類型的值可以互換使用),位字符串支持比較操作符表中顯示的常用比較操作符,就像位串操作符表中顯示的操作符。

位串操作符

bit || bitbit

連接

B'10001' || B'011'10001011

bit & bitbit

按位與(輸入的長度必須相等)

B'10001' & B'01101'00001

bit | bitbit

按位或 (輸入的長度必須相等)

B'10001' | B'01101'11101

bit # bitbit

按位異或 (輸入的長度必須相等)

B'10001' # B'01101'11100

~ bitbit

按位求反

~ B'10001'01110

bit << integerbit

按位左移(字符串長度被保留)

B'10001' << 301000

bit >> integerbit

按位右移(字符串長度被保留)

B'10001' >> 200100

一些可用于二進制字符串的函數也可用于位字符串,如位字符串函數表中所示。

位字符串函數

bit_length ( bit ) → integer

返回位字符串中的位數。

bit_length(B'10111')5

length ( bit ) → integer

返回位字符串中的位數。

length(B'10111')5

octet_length ( bit ) → integer

返回位字符串中的字節數。

octet_length(B'1011111011')2

overlay ( bits bit PLACING newsubstring bit FROM start integer [ FOR count integer ] ) → bit

替換從start位開始的bits的子字符串,并將newsubstring擴展count位。 如果count被省略,默認為newsubstring的長度。

overlay(B'01010101010101010' placing B'11111' from 2 for 3)0111110101010101010

position ( substring bit IN bits bit ) → integer

按返回指定substring的起始索引,以bits為單位,如果不存在則返回0。

position(B'010' in B'000001101011')8

substring ( bits bit [ FROM start integer ] [ FOR count integer ] ) → bit

如果指定了起始位,則提取從start位開始的bits的子字符串,如果指定了計數位,則在count位之后停止。 startcount至少提供一個。

substring(B'110010111111' from 3 for 2)00

get_bit ( bits bit, n integer ) → integer

從位字符串中提取第n位;第一個(最左)位為第0位。

get_bit(B'101010101010101010', 6)1

set_bit ( bits bit, n integer, newvalue integer ) → bit

將位字符串中的第n位設置為newvalue;第一個(最左)位是第0位。

set_bit(B'101010101010101010', 6, 0)101010001010101010

另外,我們可以在整數和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),因此只會轉換整數的最低有效位。