সেটিং এর ibase
অর্থ আপনাকে obase
একই বেসে সেট করা দরকার । আপনার উদাহরণগুলি ব্যাখ্যা করে এটি প্রদর্শিত হবে:
echo "ibase=F;obase=A;C0" | bc
আপনি bc
"আইবেজ = এফ" এর সাহায্যে বেস 15 এ উপস্থাপিত হিসাবে ইনপুট সংখ্যাগুলি বিবেচনা করার জন্য সেট করেছেন। "অববেস = এ" আউটপুট নম্বরগুলি বেস 10 এ সেট করে, এটি ডিফল্ট।
bc
সি 15 কে বেস 15 নম্বর হিসাবে পাঠায়: সি = 12. 12 * 15 = 180।
echo "ibase=F;obase=10;C0" | bc
এই একটিতে, আপনি বেস 15 এ ইনপুট এবং 10 এ আউটপুট সেট করেন - বেস 15 এ, তাই আউটপুট বেস 15 হয় base
echo "ibase=16;obase=A;C0" | bc
বেস 16 এ ইনপুট সেট করুন, বেস 10 তে আউটপুট (বেস 16 এ এ 10 হবে)।
C0 বেস 10 এ রূপান্তরিত হয়েছে: 12 * 16 = 192
আমার ব্যক্তিগত নিয়মটি হ'ল প্রথমে অবেস সেট করা, যাতে আমি বেস 10 ব্যবহার করতে পারি। তারপরে আইবেস সেট করুন, বেস 10 ব্যবহার করুন।
দ্রষ্টব্য যে bc
একটি হাস্যকর ব্যতিক্রম আছে: ibase=A
এবং obase=A
সর্বদা ইনপুট এবং আউটপুট 10 বেসে সেট করে the bc
ম্যান পৃষ্ঠা থেকে:
Single digit numbers always have the value of the digit
regardless of the value of ibase.
এই আচরণ এর স্পেসিফিকেশন enshrined হয় bc
থেকে: 2004 OpenGroup bc
স্পেসিফিকেশন :
When either ibase or obase is assigned a single digit value from
the list in 'Lexical Conventions in bc', the value shall be assumed
in hexadecimal. (For example, ibase=A sets to base ten, regardless
of the current ibase value.) Otherwise, the behavior is undefined
when digits greater than or equal to the value of ibase appear in
the input.
এজন্য ibase=F
সেটিংটি আপনার ইনপুট বেসটিকে বেস 15 এ পরিবর্তিত করেছে এবং কেন আমি সর্বদা বেস 10 ব্যবহার করে বেসটি সেট করার পরামর্শ দিয়েছি yourself নিজেকে বিভ্রান্ত করবেন না।