একটি সংখ্যা দেওয়া হলে, আমাদের এটির বাইনারি উপস্থাপনায় অগ্রণী শূন্যের সংখ্যা খুঁজে বের করতে হবে। ধরে নিচ্ছি মোট বিট 32। আসুন একটি উদাহরণ দেখি।
ইনপুট
5
আউটপুট
25
5 এর বাইনারি উপস্থাপনা হল 00000...00101। অগ্রণী শূন্যের সংখ্যা হল 29৷
৷অ্যালগরিদম
- সংখ্যা n শুরু করুন।
- n-এর বাইনারি উপস্থাপনা খুঁজুন।
- বিটের মোট সংখ্যা থেকে n-এর বাইনারি উপস্থাপনার দৈর্ঘ্য বিয়োগ করুন, অর্থাৎ, 32।
- ফলাফল ফেরত দিন।
বাস্তবায়ন
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