समस्या
C प्रोग्रामिंग भाषा में फ़ंक्शन का उपयोग करके दशमलव संख्या को बाइनरी संख्या में कैसे बदलें?
समाधान
इस कार्यक्रम में, हम मुख्य () में एक फ़ंक्शन को बाइनरी में कॉल कर रहे हैं। बाइनरी के लिए बुलाया गया फ़ंक्शन वास्तविक रूपांतरण करेगा।
दशमलव संख्या को द्विआधारी संख्या में बदलने के लिए हम जिस तर्क का उपयोग कर रहे हैं उसे फ़ंक्शन कहा जाता है -
while(dno != 0){ rem = dno % 2; bno = bno + rem * f; f = f * 10; dno = dno / 2; }
अंत में, यह बाइनरी नंबर को मुख्य प्रोग्राम में वापस कर देता है।
उदाहरण
दशमलव संख्या को बाइनरी संख्या में बदलने के लिए सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> long tobinary(int); int main(){ long bno; int dno; printf(" Enter any decimal number : "); scanf("%d",&dno); bno = tobinary(dno); printf("\n The Binary value is : %ld\n\n",bno); return 0; } long tobinary(int dno){ long bno=0,rem,f=1; while(dno != 0){ rem = dno % 2; bno = bno + rem * f; f = f * 10; dno = dno / 2; } return bno;; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Enter any decimal number: 12 The Binary value is: 1100
अब, द्विआधारी संख्याओं को दशमलव संख्याओं में बदलने का प्रयास करें।
उदाहरण
द्विआधारी संख्या को दशमलव संख्या में बदलने के लिए सी प्रोग्राम निम्नलिखित है -
#include #include <stdio.h> int todecimal(long bno); int main(){ long bno; int dno; printf("Enter a binary number: "); scanf("%ld", &bno); dno=todecimal(bno); printf("The decimal value is:%d\n",dno); return 0; } int todecimal(long bno){ int dno = 0, i = 0, rem; while (bno != 0) { rem = bno % 10; bno /= 10; dno += rem * pow(2, i); ++i; } return dno; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Enter a binary number: 10011 The decimal value is:19