একটি কম্পিউটার সিস্টেমে, অক্টাল সংখ্যাকে অক্টাল সংখ্যা পদ্ধতিতে প্রকাশ করা হয় যখন দশমিক সংখ্যাটি দশমিক সংখ্যা পদ্ধতিতে থাকে। অক্টাল সংখ্যা বেস 8 এ রয়েছে এবং দশমিক সংখ্যাটি বেস 10 এ রয়েছে।
দশমিক সংখ্যা এবং তাদের সংশ্লিষ্ট অক্টাল সংখ্যার উদাহরণ নিম্নরূপ।
দশমিক সংখ্যা | অক্টাল সংখ্যা |
---|---|
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 অক্টাল সংখ্যাকে দশমিকে রূপান্তর করে।
DecimalToOctal ফাংশনে, প্রাথমিকভাবে অক্টালনাম ভেরিয়েবল শূন্য থেকে শুরু হয়। পরিবর্তনশীল placeValue সংখ্যার অঙ্কের অবস্থান নির্দেশ করে। octalNum এর মান একটি while loop ব্যবহার করে পাওয়া যায়।
while লুপের প্রতিটি পুনরাবৃত্তির জন্য, decimalNum কে 8 দ্বারা ভাগ করা হয় এবং অবশিষ্টটিকে placeValue দ্বারা গুণ করা হয়। এটি octalNum এর আগের মানের সাথে যোগ করা হয়েছে। এছাড়াও decimalNum কে 8 দ্বারা ভাগ করা হয় এবং ভাগফলটি আবার সংরক্ষণ করা হয়। স্থানমূল্যকে 10 দ্বারা গুণ করা হয়।
একটি কোড স্নিপেট যা এটি প্রদর্শন করে তা নিম্নরূপ।
while (decimalNum != 0) { octalNum += (decimalNum % 8) * placeValue; decimalNum /= 8; placeValue *= 10; }
অক্টাল মান অর্থাৎ অক্টালনাম পাওয়া গেলে, এটি প্রদর্শিত হয়। এটি নীচে দেওয়া হল -
cout<<"Octal form of decimal number "<<dNo<<" is "<<octalNum<<endl;
OctalToDecimal ফাংশনে, while লুপের প্রতিটি পুনরাবৃত্তিতে octalNum কে 8 দ্বারা ভাগ করা হয় এবং অবশিষ্টটিকে 8 দ্বারা গুণ করা হয়। এটি decimalNum এর আগের মানের সাথে যোগ করা হয়েছে। শক্তি 1 দ্বারা বৃদ্ধি করা হয় এবং অক্টালনাম 10 দ্বারা ভাগ করা হয়। এটি নিম্নরূপ প্রদর্শিত হয়।
while(octalNum != 0) { decimalNum += (octalNum%10) * pow(8,power); ++power; octalNum/=10; }
decimalNum এর মান পাওয়া গেলে, এটি প্রদর্শিত হয়। এটি নিম্নরূপ দেখা যায়।
cout<<"Decimal form of octal number "<<oNo<<" is "<<decimalNum<<endl;
main() ফাংশনে শুধুমাত্র প্রয়োজনীয় মান সহ DecimalToOctal() এবং OctalToDecimal() ফাংশন কল করা থাকে। এটি নিম্নলিখিত কোড স্নিপেট দ্বারা প্রদর্শিত হয়৷
৷DecimalToOctal(20); OctalToDecimal(32);