AWK 位操作函数
AWK具有以下内置的位操作函数−
and
执行位与操作。
示例
[jerry]$ awk 'BEGIN {
num1 = 10
num2 = 6
printf "(%d AND %d) = %d\n", num1, num2, and(num1, num2)
}'
执行这段代码后,你会得到以下的结果:
输出
(10 AND 6) = 2
compl
它执行位求补运算。
示例
[jerry]$ awk 'BEGIN {
num1 = 10
printf "compl(%d) = %d\n", num1, compl(num1)
}'
执行此代码后,您将获得以下结果 –
输出
compl(10) = 9007199254740981
lshift
它执行位左移操作。
示例
[jerry]$ awk 'BEGIN {
num1 = 10
printf "lshift(%d) by 1 = %d\n", num1, lshift(num1, 1)
}'
在执行此代码时,您将获得以下结果−
输出
lshift(10) by 1 = 20
rshift
它执行位右移操作。
示例
[jerry]$ awk 'BEGIN {
num1 = 10
printf "rshift(%d) by 1 = %d\n", num1, rshift(num1, 1)
}'
运行此代码,您将获得以下结果:
输出
rshift(10) by 1 = 5
or
执行按位或(OR)操作。
示例
[jerry]$ awk 'BEGIN {
num1 = 10
num2 = 6
printf "(%d OR %d) = %d\n", num1, num2, or(num1, num2)
}'
执行此代码后,您将获得以下结果:
输出
(10 OR 6) = 14
xor
它执行按位异或操作。
示例
[jerry]$ awk 'BEGIN {
num1 = 10
num2 = 6
printf "(%d XOR %d) = %d\n", num1, num2, xor(num1, num2)
}'
运行此代码时,你会得到以下结果:
输出
(10 bitwise xor 6) = 12