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


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.