Shell
如何從shell計算十六進制異或(^)?
不幸的是 bc 和 calc 不支持異或。
像這樣:
echo $(( 0xA ^ 0xF ))
或者,如果您想要十六進制的答案:
printf '0x%X\n' $(( 0xA ^ 0xF ))
附帶說明一下,
calc(1)
確實支持xor
作為一項功能:$ calc base(16) 0xa xor(0x22, 0x33) 0x11
使用任何 POSIX shell:
$ printf '%#x\n' "$((0x11 ^ 0x22))" 0x33