অক্টাল (ฐান ৮) এবং ডেসিমেল (ฐান ১০) সংখ্যা পক্ষান্তর কনভার্ট করা যায়।
উদাহরণ টেবিল
| ডেসিমেল | অক্টাল |
|---|---|
| 10 | 12 |
| 70 | 106 |
| 25 | 31 |
| 16 | 20 |
উদাহরণ কোড
#include <iostream>
#include <cmath>
using namespace std;
void DecimalToOctal(int decimalNum) {
int octalNum = 0, placeValue = 1;
int dNo = decimalNum;
while (decimalNum != 0) {
octalNum += (decimalNum % 8) * placeValue;
decimalNum /= 8;
placeValue *= 10;
}
cout << "Octal form of decimal number " << dNo << " is " << octalNum << endl;
}
void OctalToDecimal(int octalNum) {
int decimalNum = 0, power = 0;
int oNo = octalNum;
while (octalNum != 0) {
decimalNum += (octalNum % 10) * pow(8, power);
++power;
octalNum /= 10;
}
cout << "Decimal form of octal number " << oNo << " is " << decimalNum << endl;
}
int main() {
DecimalToOctal(20);
OctalToDecimal(32);
return 0;
}
আউটপুট
Octal form of decimal number 20 is 24 Decimal form of octal number 32 is 26
ব্যাখ্যা
DecimalToOctal
বারবার ৮ দিয়ে ভাগ, ভাগশেষ × প্লেস ভ্যালু (১, ১০, ১০০...) যোগ।
OctalToDecimal
অক্টাল নম্বরকে ডেসিমেল নম্বর হিসেবে ইন্টারপ্রেট করে (যেমন ৩২ → ৩ এবং ২)। প্রতিটি ডিজিট × ৮^পাওয়ার যোগ করে। octalNum % 10 দিয়ে লাস্ট ডিজিট বের করা হয়।
সতর্কতা: ইনপুট অক্টাল নম্বরটি ডেসিমেল ইন্টিজার হিসেবে পাস করা হয়েছে (যেমন ৩২ অর্থাৎ অক্টাল ৩২)। বাস্তবে স্ট্রিং হিসেবে ইনপুট নেওয়া ভালো।