Câu trả lời:
Như thế này:
echo $(( 0xA ^ 0xF ))
Hoặc nếu bạn muốn câu trả lời trong hex:
printf '0x%X\n' $(( 0xA ^ 0xF ))
Trên một lưu ý phụ, calc(1)
không hỗ trợ xor
như một chức năng:
$ calc
base(16)
0xa
xor(0x22, 0x33)
0x11
gdb có máy tính biểu thức mạnh mẽ:
gdb -q -ex 'print/x 0xA ^ 0xF' -ex q
Một hàm shell:
calc_gdb() { gdb -q -ex "print/x $*" -ex q;}
calc_gdb 0xA ^ 0xF
$1 = 0x5
Có thể làm điều đó trong bc:
echo 'xor(10,15)' | bc -l logic.bc
Hoặc trong hex:
echo 'obase=16;ibase=16; xor(AA,FF)' | bc -l logic.bc
Sử dụng tệp logic từ đây .
Chỉ cần làm wget http://phodd.net/gnu-bc/code/logic.bc
để có được nó.
bc(1)
thiên đường của geek. :) Cảm ơn vi đương link.
Runtime error (func=(main), adr=51): Function xor not defined.
logic.bc
tệp tham chiếu ở đó không? Đó là những gì định nghĩa xor
nó dường như
%#x
làm việc ở C cũng vậy, tốt đẹp!