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

C++-এ পূর্ণসংখ্যায় টোটাল বিট গণনা: বাইনারি দৈর্ঘ্য

একটি পূর্ণসংখ্যা দেওয়া আছে। এর বাইনারি রিপ্রেজেন্টেশনে কতটি বিট (০ ও ১ মিলিয়ে) আছে তা বের করুন। লিডিং জিরো বাদ দেওয়া হয়।

উদাহরণ

num=50 → Binary: 110010 → ৬টি বিট

num=10 → Binary: 1010 → ৪টি বিট

পদ্ধতিগুলো

১. লুপ দিয়ে (O(log n))


while (num) {
    count++;
    num >>= 1;
}

২. লগারিদম ব্যবহার করে (O(1))


if (num == 0) return 1;
return floor(log2(num)) + 1;

৩. বিল্ট-ইন ফাংশন


32 - __builtin_clz(num);  // 32-বিট ইন্টের জন্য
64 - __builtin_clzll(num); // 64-বিটের জন্য

C++ বাস্তবায়ন


#include 
using namespace std;

unsigned int totalBits(unsigned int num) {
    if (num == 0) return 1;
    unsigned int count = 0;
    while (num) {
        count++;
        num >>= 1;
    }
    return count;
}

int main() {
    int num = 50;
    cout << "Total bits: " << totalBits(num);
    return 0;
}

দ্রষ্টব্য

আর্টিকেলে "8-bit digits" প্রিন্ট করা হয়েছে যা ফিক্সড উইন্ডো, কিন্তু একচুয়াল বিট দৈর্ঘ্য ভিন্ন।

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

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

  3. C#-এ সংখ্যার টোটাল বিট সংখ্যা গণনা

  4. পাইথনে একটি সংখ্যার টোটাল বিট গণনা করার প্রোগ্রাম