Réponses:
Avec n'importe quel shell POSIX:
$ printf '%#x\n' "$((0x11 ^ 0x22))"
0x33
Comme ça:
echo $(( 0xA ^ 0xF ))
Ou si vous voulez la réponse en hexadécimal:
printf '0x%X\n' $(( 0xA ^ 0xF ))
Sur une note latérale, calc(1)
prend en charge en xor
tant que fonction:
$ calc
base(16)
0xa
xor(0x22, 0x33)
0x11
gdb a une calculatrice d'expression puissante:
gdb -q -ex 'print/x 0xA ^ 0xF' -ex q
Une fonction shell:
calc_gdb() { gdb -q -ex "print/x $*" -ex q;}
calc_gdb 0xA ^ 0xF
$1 = 0x5
Il est possible de le faire en BC:
echo 'xor(10,15)' | bc -l logic.bc
Ou en hex:
echo 'obase=16;ibase=16; xor(AA,FF)' | bc -l logic.bc
Utilisation du fichier logique d'ici .
Il suffit wget http://phodd.net/gnu-bc/code/logic.bc
de l'obtenir.
bc(1)
paradis des geek. :) Merci pour le lien.
Runtime error (func=(main), adr=51): Function xor not defined.
logic.bc
référencé le fichier? C'est ce qui définit xor
cela semble
%#x
fonctionne aussi en C, sympa!