Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में किसी संख्या के अनसेट बिट्स की गणना करें

हमें एक पूर्णांक संख्या दी जाती है, मान लीजिए, संख्या और कार्य पहले किसी संख्या के द्विआधारी अंक की गणना करना है और फिर किसी संख्या के कुल अनसेट बिट्स की गणना करना है।

एक बाइनरी नंबर में अनसेट बिट्स को 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

  1. C++ में विषम संख्या में सेट बिट्स वाले पूर्णांकों की संख्या

    एक संख्या n को देखते हुए, हमें उनके बाइनरी रूप में विषम संख्या में सेट बिट्स के साथ पूर्णांकों की संख्या ज्ञात करनी होगी। आइए एक उदाहरण देखें। इनपुट n = 10 आउटपुट 5 1 से 10 तक के 5 पूर्णांक हैं जिनके बाइनरी रूप में विषम संख्या में सेट बिट्स हैं। एल्गोरिदम नंबर एन शुरू करें। बाइनरी रूप में स

  1. सी ++ का उपयोग कर ओपनसीवी में फ्रेम की कुल संख्या की गणना कैसे करें?

    हम सीखेंगे कि OpenCV में फ़्रेम की कुल संख्या की गणना कैसे करें। ओपनसीवी का उपयोग करते हुए, वीडियो के फ्रेम की कुल संख्या को गिनना और दिखाना प्राथमिक है। हालाँकि, आपको एक बात ध्यान में रखनी होगी कि हम वास्तविक समय के वीडियो फ्रेम की कुल संख्या की गणना नहीं कर सकते। क्योंकि रीयल-टाइम वीडियो में निश्च

  1. C++ में एक आयत में वर्गों की संख्या गिनें

    =B. लक्ष्य उन वर्गों की संख्या का पता लगाना है जिन्हें LXB आकार का एक आयत समायोजित कर सकता है। ऊपर दिया गया चित्र 3 X 2 आकार का एक आयत दिखाता है। इसमें 2, 2X2 वर्ग और 6,1X1 वर्ग हैं। कुल वर्ग=6+2=8. LXB आकार के प्रत्येक आयत में L*B संख्या 1X1 वर्ग होती है। सबसे बड़े वर्ग BXB आकार के होते ह