कंप्यूटर सिस्टम में, अष्टाधारी संख्या अष्टाधारी संख्या प्रणाली में व्यक्त की जाती है जबकि दशमलव संख्या दशमलव संख्या प्रणाली में होती है। अष्टाधारी संख्या आधार 8 में होती है जबकि दशमलव संख्या आधार 10 में होती है।
दशमलव संख्याओं और उनकी संबंधित अष्टाधारी संख्याओं के उदाहरण निम्नलिखित हैं।
| दशमलव संख्या | अष्टाधारी संख्या |
|---|---|
| 8 | 10 |
| 70 | 106 |
| 25 | 31 |
| 7 | 7 |
दशमलव संख्याओं को अष्टाधारी में बदलने का एक प्रोग्राम निम्नलिखित है।
उदाहरण
#include <iostream> 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<<"दशमलव संख्या "<<dNo<<" का अष्टाधारी रूप है "<<octalNum<<endl; } int main() { DecimalToOctal(70); return 0; } आउटपुट
दशमलव संख्या 70 का अष्टाधारी रूप है 106
उपरोक्त प्रोग्राम में, DecimalToOctal फ़ंक्शन दशमलव संख्याओं को अष्टाधारी में बदलता है। DecimalToOctal फ़ंक्शन में, वेरिएबल octalNum को प्रारंभ में शून्य से आरंभ किया जाता है। वेरिएबल placeValue संख्या में अंक के स्थान को दर्शाता है। octalNum का मान व्हाइल लूप का उपयोग करके पाया जाता है।
व्हाइल लूप के प्रत्येक पुनरावृत्ति के लिए, decimalNum को 8 से विभाजित किया जाता है और शेषफल को placeValue से गुणा किया जाता है। इसे octalNum के पिछले मान में जोड़ा जाता है। साथ ही decimalNum को 8 से विभाजित किया जाता है और भागफल को वापस संग्रहीत किया जाता है। placeValue को 10 से गुणा किया जाता है।
इसे प्रदर्शित करने वाला एक कोड स्निपेट निम्नानुसार है।
while (decimalNum != 0) { octalNum += (decimalNum % 8) * placeValue; decimalNum /= 8; placeValue *= 10; } अष्टाधारी मान यानी octalNum प्राप्त होने के बाद, इसे प्रदर्शित किया जाता है। यह नीचे दिया गया है:
cout<<"दशमलव संख्या "<<dNo<<" का अष्टाधारी रूप है "<<octalNum<<endl;
main() फ़ंक्शन में केवल आवश्यक मानों के साथ DecimalToOctal() फ़ंक्शन कॉल होता है। यह निम्नलिखित कोड स्निपेट द्वारा प्रदर्शित होता है।
DecimalToOctal(70);