# 9.6.位字符串函数和运算符
本节介绍用于检查和操作位字符串(即类型的值)的函数和运算符一点
和位变
我只会打字一点
在这些表格中提到,类型为位变
可以互换使用。)位字符串支持中所示的常用比较运算符表9.1,以及中所示的操作员表9.14.
表9.14.位字符串运算符
操作人员 描述 例子 |
---|
一点 || 一点 →一点 串联 B'10001'| | B'011' →10001011 |
一点 & 一点 → 一点 按位和(输入长度必须相等) B'10001'和B'01101' → 00001 |
一点 | 一点 → 一点 按位或(输入长度必须相等) B'10001'| B'01101' → 11101 |
一点 # 一点 → 一点 位异或(输入长度必须相等) B'10001'#B'01101' → 11100 |
~ 一点 → 一点 按位取反 ~B'10001' → 01110 |
一点 << 整数 → 一点 按位左移(保留字符串长度) B'10001'<<3 → 01000 |
一点 >> 整数 → 一点 按位右移(保留字符串长度) B'10001'>>2 → 00100 |
一些可用于二进制字符串的函数也可用于位字符串,如中所示表9.15.
表9.15.位字符串函数
此外,还可以在类型之间转换整数值一点
.将整数转换为位(n)
复制最右边的n
位。将整数强制转换为比整数本身宽的位字符串,将在左侧显示扩展号。例如:
44::bit(10) 0000101100
44::bit(3) 100
cast(-44 as bit(12)) 111111010100
'1110'::bit(4)::integer 14
请注意,铸造为“钻头”意味着铸造为位(1)
,因此将只传递整数的最低有效位。