Awk-bit-manipulation-functions
提供:Dev Guides
AWK-ビット操作関数
AWKには、次の組み込みビット操作関数があります-
and
ビット単位のAND演算を実行します。
例
[jerry]$ awk 'BEGIN {
num1 = 10
num2 = 6
printf "(%d AND %d) = %d\n", num1, num2, and(num1, num2)
}'
このコードを実行すると、次の結果が得られます-
出力
(10 AND 6) = 2
コンプル
ビット単位のCOMPLEMENT操作を実行します。
例
[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
ビットごとのXOR演算を実行します。
例
[jerry]$ awk 'BEGIN {
num1 = 10
num2 = 6
printf "(%d XOR %d) = %d\n", num1, num2, xor(num1, num2)
}'
このコードを実行すると、次の結果が得られます-
出力
(10 bitwise xor 6) = 12