불행하게도 bc와 calc는 XOR을 지원하지 않습니다.
답변1
이와 같이:
echo $(( 0xA ^ 0xF ))
또는 16진수 답변을 원하는 경우:
printf '0x%X\n' $(( 0xA ^ 0xF ))
그런데,calc(1)
하다xor
함수로 지원됨 :
$ calc
base(16)
0xa
xor(0x22, 0x33)
0x11
답변2
POSIX 셸의 경우:
$ printf '%#x\n' "$((0x11 ^ 0x22))"
0x33
답변3
gdb에는 강력한 표현식 계산기가 있습니다:
gdb -q -ex 'print/x 0xA ^ 0xF' -ex q
쉘 기능:
calc_gdb() { gdb -q -ex "print/x $*" -ex q;}
calc_gdb 0xA ^ 0xF
$1 = 0x5
답변4
이 작업은 BC에서 수행할 수 있습니다.
echo 'xor(10,15)' | bc -l logic.bc
또는 16진수로:
echo 'obase=16;ibase=16; xor(AA,FF)' | bc -l logic.bc
사용여기에서 논리 파일.
그냥 하시면 wget http://phodd.net/gnu-bc/code/logic.bc
얻으실 수 있습니다.