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


जवाबों:



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.