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

C++ में दी गई संख्या के बाइनरी प्रतिनिधित्व में अग्रणी शून्यों की संख्या


एक संख्या दी गई है, हमें इसके बाइनरी प्रतिनिधित्व में अग्रणी शून्यों की संख्या ढूंढनी है। कुल बिट्स 32 मानकर। आइए एक उदाहरण देखते हैं।

इनपुट

5

आउटपुट

25

5 का बाइनरी प्रतिनिधित्व 00000...00101 है। अग्रणी शून्यों की संख्या 29 है।

नोट: मूल पाठ में आउटपुट 25 दिया गया है लेकिन व्याख्या में 29 लिखा है। यह विरोधाभास प्रतीत होता है।

एल्गोरिदम

  • संख्या n को आरंभ करें।
  • n का बाइनरी प्रतिनिधित्व ढूंढें।
  • कुल बिट्स यानी 32 में से n के बाइनरी प्रतिनिधित्व की लंबाई घटाएं।
  • परिणाम लौटाएं।

कार्यान्वयन

उपरोक्त एल्गोरिदम का C++ में कार्यान्वयन निम्नलिखित है:

#include <bits/stdc++.h> using namespace std; int getLeadingZeroesCount(unsigned int n) {    int totalBits = sizeof(n) * 8;    string binary = "";    while (n) {       int remainder = n % 2;       if (remainder || binary.length() > 0) {          binary += remainder;       }       n /= 2;    }    return totalBits - binary.length(); } int main() {    int n = 101;    cout << getLeadingZeroesCount(n) << endl;    return 0; }

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।

25
  1. C++ में जांचें कि दिया गया बाइनरी ट्री सम-ट्री है या नहीं C++ में जांचें कि दिया गया बाइनरी ट्री सम-ट्री है या नहीं

    यहां हम देखेंगे कि बाइनरी ट्री सम-ट्री (SumTree) है या नहीं, इसकी जांच कैसे करें। अब सवाल यह है कि सम-ट्री क्या है। एक सम-ट्री एक बाइनरी ट्री है जहां एक नोड अपने बच्चों के योग का मान रखता है। ट्री का रूट उसके नीचे के सभी तत्वों का पूरा योग रखता है। यह सम-ट्री का एक उदाहरण है -इसे जांचने के लिए, हम ए

  1. - C++ में जांचें कि दी गई संख्या विरल (sparse) है या नहीं

    इस खंड में, हम देखेंगे कि संख्या विरल (sparse) है या नहीं, इसकी जांच कैसे करें। एक संख्या को विरल कहा जाता है यदि संख्या का बाइनरी प्रतिनिधित्व, दो या दो से अधिक लगातार 1s नहीं रखता। मान लीजिए संख्या 72 जैसी है। यह 01001000 है। यहां कोई दो या अधिक लगातार 1s नहीं हैं।किसी संख्या की जांच करने के लिए क

  1. - C++ प्रोग्राम: ऑक्टल संख्या को बाइनरी संख्या में बदलना

    परिचय कंप्यूटर सिस्टम में, बाइनरी संख्या बाइनरी अंक प्रणाली (आधार 2) में व्यक्त की जाती है जबकि ऑक्टल संख्या ऑक्टल अंक प्रणाली (आधार 8) में होती है। बाइनरी और ऑक्टल संख्याओं के उदाहरण बाइनरी संख्याऑक्टल संख्या 0110115 001015 1011026 0101012 C++ प्रोग्राम उदाहरण #include <iostream> #in