हमें एक पूर्णांक संख्या दी जाती है, मान लीजिए, संख्या और कार्य पहले किसी संख्या के द्विआधारी अंक की गणना करना है और फिर किसी संख्या के कुल अनसेट बिट्स की गणना करना है।
एक बाइनरी नंबर में अनसेट बिट्स को 0 द्वारा दर्शाया जाता है। जब भी हम एक पूर्णांक मान के बाइनरी नंबर की गणना करते हैं तो यह 0 और 1 के संयोजन के रूप में बनता है। तो, अंक 0 को कंप्यूटर के संदर्भ में अनसेट बिट के रूप में जाना जाता है।
इनपुट - इंट नंबर =50
आउटपुट − किसी संख्या में कुल अनसेट बिट्स की संख्या है − 3
स्पष्टीकरण - एक संख्या 50 का द्विआधारी निरूपण 110010 है और यदि हम इसे 8 अंकों की संख्या में परिकलित करते हैं तो शुरुआत में दो 0 जोड़ दिए जाएंगे। तो, एक संख्या में कुल अनसेट बिट्स 3 हैं।
इनपुट - इंट नंबर =10
आउटपुट - एक संख्या में कुल अनसेट बिट्स की संख्या हैं:6
स्पष्टीकरण − एक संख्या 10 का बाइनरी निरूपण 00001010 है और यदि हम इसे 8 अंकों की संख्या में परिकलित करते हैं तो शुरुआत में चार 0 जोड़ दिए जाएंगे। तो, एक संख्या में कुल अनसेट बिट्स 6 हैं।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
पूर्णांक प्रकार के एक चर में संख्या दर्ज करें
-
अहस्ताक्षरित int प्रकार के सेट बिट्स की कुल संख्या को संग्रहीत करने के लिए एक चर गणना घोषित करें
-
I से 1<<7 और i> 0 और i से i / 2
. तक के लिए लूप प्रारंभ करें -
लूप के अंदर, num &1 ==TRUE चेक करें फिर 1 प्रिंट करें और प्रिंट करें 0
-
लूप के अंदर, किसी संख्या में कुल अंकों का मान बढ़ाएँ।
-
संख्या 0 नहीं होने तक बिट्स की कुल संख्या की गणना करने के लिए लूप प्रारंभ करें
-
लूप के अंदर, गिनती =गिनती + संख्या और 1 सेट करें और संख्या भी सेट करें>>=1
-
एक संख्या में कुल अंकों के रूप में गिनती सेट करें - एक संख्या में कुल सेट बिट्स।
-
गिनती प्रिंट करें
उदाहरण
#include<iostream> using namespace std; //Count total unset bits in a number unsigned int unset_bits(unsigned int number){ unsigned int total_digits = 0; unsigned int count = 0; unsigned i; //display the total 8-bit number cout<<"8-bit digits of "<<number<<" is: "; for (i = 1 << 7; i > 0; i = i / 2){ (number & i)? cout<<"1": cout<<"0"; total_digits++; } //calculate the total unset bits in a number while (number){ count += number & 1; number >>= 1; } count = total_digits - count; cout<<"\nCount of total unset bits in a number are: "<<count; } int main(){ int number = 50; unset_bits(number); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
8-bit digits of 50 is: 00110010 Count of total set bits in a number are: 5