शेल से हेक्साडेसिमल एक्सोर (^) की गणना कैसे करें?


जवाबों:



35

ऐशे ही:

echo $(( 0xA ^ 0xF ))

या यदि आप हेक्स में जवाब चाहते हैं:

printf '0x%X\n' $(( 0xA ^ 0xF ))

साइड नोट पर, फ़ंक्शन के रूप में समर्थन calc(1) करताxor है:

$ calc
base(16)
    0xa
xor(0x22, 0x33)
    0x11

12

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
मनोरंजक, लेकिन यह एक अखरोट को तोड़ने के लिए स्लेजहैमर की तरह लगता है!
अब

1
अभिव्यक्ति के मूल्यांकन के अधिक सामान्य मामले के लिए उपयोगी है, लेकिन XOR के लिए नहीं
पीटर कॉर्डेस

5

बीसी में ऐसा करना संभव है:

echo 'xor(10,15)' | bc -l logic.bc

या हेक्स में:

echo 'obase=16;ibase=16; xor(AA,FF)' | bc -l logic.bc

यहाँ से लॉजिक फ़ाइल का उपयोग करना ।

बस wget http://phodd.net/gnu-bc/code/logic.bcइसे पाने के लिए करते हैं।


वाह, यह साइट bc(1)गीक का स्वर्ग है। :) लिंक के लिए आपको धन्यवाद।
सातु कटुरा

मेरा संस्करण "bc" XOR फ़ंक्शन के लिए नहीं लगता है और बस कहता है:Runtime error (func=(main), adr=51): Function xor not defined.
slacy

@ साक्षरता क्या आपको logic.bcवहां संदर्भित फ़ाइल मिली है ? ऐसा xorलगता है कि यह परिभाषित करता है
एरिक रेनॉफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.