불행하게도 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
얻으려면 그냥 하세요 .