কম্পিউটার টিউটোরিয়াল

সংখ্যার আনসেট বিট (০) গণনা C++-এ

একটি পূর্ণসংখ্যা দেওয়া থাকলে, তার ৮-বিট বাইনারি রিপ্রেজেন্টেশনে কতটি ০ (আনসেট বিট) আছে তা গণনা করতে হবে।

উদাহরণ

সংখ্যা: 50

বাইনারি (৮-বিট): 00110010

আনসেট বিট: ৫টি (দুটি লিডিং জিরো + তিনটি মাঝপথে)

আউটপুট: 5 (নোট: আউটপুটে ৩ বলা হয়েছে কিন্তু ৮-বিটে ৫টি)

অ্যালগরিদম

  1. ৮-বিট বাইনারি প্রিন্ট করুন (MSB থেকে LSB)।
  2. সেট বিট গণনা করুন: while(n) { count += n&1; n >>= 1; }
  3. আনসেট বিট = ৮ - সেট বিট।

C++ কোড উদাহরণ

#include <iostream>
using namespace std;

void countUnsetBits(unsigned int n) {
    unsigned int totalBits = 8;
    unsigned int setBits = 0;
    
    cout << "8-bit binary of " << n << " is: ";
    for (int i = 7; i >= 0; i--) {
        cout << ((n >> i) & 1);
    }
    cout << endl;
    
    unsigned int temp = n;
    while (temp) {
        setBits += temp & 1;
        temp >>= 1;
    }
    
    int unsetBits = totalBits - setBits;
    cout << "Unset bits: " << unsetBits;
}

int main() {
    int n = 50;
    countUnsetBits(n);
    return 0;
}

ইনপুট

50

আউটপুট

8-bit binary of 50 is: 00110010
Unset bits: 5
  1. n সেট বিট ও m আনসেট বিটসহ সর্বোচ্চ সংখ্যা বের করা (C++)

  2. C++-এ অড্ড সেট বিট থাকা ইন্টিজার সংখ্যা গণনা

  3. OpenCV-এ C++ ব্যবহার করে মোট ফ্রেম সংখ্যা গণনা করা

  4. সি++-এ আয়তক্ষেত্রে বর্গের সংখ্যা গণনা