एक कंप्यूटर सिस्टम में, बाइनरी नंबर बाइनरी नंबर सिस्टम में व्यक्त किया जाता है जबकि दशमलव संख्या दशमलव अंक प्रणाली में होती है। द्विआधारी संख्या आधार 2 में है जबकि दशमलव संख्या आधार 10 में है।
दशमलव संख्याओं और उनके संगत बाइनरी नंबरों के उदाहरण इस प्रकार हैं -
दशमलव संख्या | बाइनरी नंबर |
---|---|
10 | 01010 |
7 | 00111 |
25 | 11001 |
16 | 10000 |
एक प्रोग्राम जो बाइनरी नंबर को डेसीमल और डेसीमल नंबर को बाइनरी में कन्वर्ट करता है वह इस प्रकार है।
उदाहरण
#include <iostream> using namespace std; void DecimalToBinary(int n) { int binaryNumber[100], num=n; int i = 0; while (n > 0) { binaryNumber[i] = n % 2; n = n / 2; i++; } cout<<"Binary form of "<<num<<" is "; for (int j = i - 1; j >= 0; j--) cout << binaryNumber[j]; cout<<endl; } int BinaryToDecimal(int n) { int decimalNumber = 0; int base = 1; int temp = n; while (temp) { int lastDigit = temp % 10; temp = temp/10; decimalNumber += lastDigit*base; base = base*2; } cout<<"Decimal form of "<<n<<" is "<<decimalNumber<<endl;; } int main() { DecimalToBinary(23); BinaryToDecimal(10101); return 0; }
आउटपुट
Binary form of 23 is 10111 Decimal form of 10101 is 21
ऊपर दिए गए प्रोग्राम में, DecimalToBinary और BinaryToDecimal दो फंक्शन हैं। ये संख्या को दशमलव से बाइनरी और बाइनरी को क्रमशः दशमलव में परिवर्तित करते हैं।
DecimalToBinary फ़ंक्शन में, दशमलव संख्या n का बाइनरी मान सरणी बाइनरीनंबर [] में संग्रहीत किया जाता है। थोड़ी देर के लूप का उपयोग किया जाता है और लूप के प्रत्येक पुनरावृत्ति के लिए n मॉड्यूलस 2 ऑपरेशन का परिणाम बाइनरीनंबर [] में संग्रहीत किया जाता है। यह निम्नलिखित कोड स्निपेट का उपयोग करके दिखाया गया है।
while (n > 0) { binaryNumber[i] = n % 2; n = n / 2; i++; }
इसके बाद, लूप का उपयोग करके बाइनरी नंबर प्रदर्शित किया जाता है। यह इस प्रकार दिखाया गया है।
cout<<"Binary form of "<<num<<" is "; for (int j = i - 1; j >= 0; j--) cout << binaryNumber[j];
फ़ंक्शन में, BinaryToDecimal(), थोड़ी देर के लूप का उपयोग बाइनरी संख्या को दशमलव संख्या में बदलने के लिए किया जाता है। LastDigit में अस्थायी चर का अंतिम बिट होता है। आधार में आधार मान होता है जैसे 2, 4, 6, 8 आदि। दशमलव संख्या में पिछले दशमलव संख्या मान और लास्टडिजिट और आधार के उत्पाद का योग होता है।
यह सब निम्नलिखित कोड स्निपेट का उपयोग करके प्रदर्शित किया जाता है -
while (temp) { int lastDigit = temp % 10; temp = temp/10; decimalNumber += lastDigit*base; base = base*2; }
मुख्य () फ़ंक्शन में, DecimalToBinary () और BinaryToDecimal () फ़ंक्शन को कॉल किया जाता है। यह इस प्रकार दिखाया गया है।
DecimalToBinary(23); BinaryToDecimal(10101);