শেল থেকে হেক্সাডেসিমাল জোর (^) গণনা কিভাবে করবেন?


16

দুর্ভাগ্যক্রমে বিসি এবং ক্যালক জোরকে সমর্থন করে না।

উত্তর:



35

এটার মত:

echo $(( 0xA ^ 0xF ))

অথবা আপনি যদি হেক্সে উত্তর চান:

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

একটি পার্শ্ব নোট অন, calc(1) আছে সমর্থন xorএকটি ফাংশন হিসাবে:

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

12

জিডিবির শক্তিশালী এক্সপ্রেশন ক্যালকুলেটর রয়েছে:

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
মজাদার, তবে বাদামের ফাটল ধরার মতো মনে হচ্ছে স্লেজহ্যামার!
8:48 এবলিগ

1
এক্সপ্রেশন মূল্যায়নের আরও সাধারণ ক্ষেত্রে কার্যকর তবে এক্সওআর এর জন্য নয়
পিটার কর্ডেস

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)গীকের স্বর্গ। :) লিঙ্ক করার জন্য আপনাকে ধন্যবাদ.
স্যাটাস কাতসুরা

আমার "বিসি" সংস্করণটির XOR ফাংশন আছে বলে মনে হচ্ছে না এবং কেবল বলেছেন:Runtime error (func=(main), adr=51): Function xor not defined.
অস্পষ্টতা

@ স্লাইসি আপনি কি সেখানে logic.bcফাইলটি রেফারেন্স পেয়েছেন? xorএটি মনে হয় এটির সংজ্ঞা দেয়
এরিক রেনোফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.