AWK - 二進位制位操作功能



AWK 有以下內建的二進位制位操作功能 −

執行按位與運算。

示例

[jerry]$ awk 'BEGIN {
   num1 = 10
   num2 = 6
   printf "(%d AND %d) = %d\n", num1, num2, and(num1, num2)
}'

執行此程式碼後,將獲得以下結果 −

輸出

(10 AND 6) = 2

補碼

執行按位補碼運算。

示例

[jerry]$ awk 'BEGIN {
   num1 = 10
   printf "compl(%d) = %d\n", num1, compl(num1)
}'

執行此程式碼後,將獲得以下結果 −

輸出

compl(10) = 9007199254740981

左移

執行按位左移運算。

示例

[jerry]$ awk 'BEGIN {
   num1 = 10
   printf "lshift(%d) by 1 = %d\n", num1, lshift(num1, 1)
}'

執行此程式碼後,將獲得以下結果 −

輸出

lshift(10) by 1 = 20

右移

執行按位右移運算。

示例

[jerry]$ awk 'BEGIN {
   num1 = 10
   printf "rshift(%d) by 1 = %d\n", num1, rshift(num1, 1)
}'

執行此程式碼後,將獲得以下結果 −

輸出

rshift(10) by 1 = 5

執行按位或運算。

示例

[jerry]$ awk 'BEGIN {
   num1 = 10
   num2 = 6
   printf "(%d OR %d) = %d\n", num1, num2, or(num1, num2)
}'

執行此程式碼後,將獲得以下結果 −

輸出

(10 OR 6) = 14

異或

執行按位異或運算。

示例

[jerry]$ awk 'BEGIN {
   num1 = 10
   num2 = 6
   printf "(%d XOR %d) = %d\n", num1, num2, xor(num1, num2)
}'

執行此程式碼後,將獲得以下結果 −

輸出

(10 bitwise xor 6) = 12
awk_built_in_functions.htm
廣告
© . All rights reserved.