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