একটি সংখ্যা দেওয়া হলে, আমাদের এটির বাইনারি উপস্থাপনায় অগ্রণী শূন্যের সংখ্যা খুঁজে বের করতে হবে। ধরে নিচ্ছি মোট বিট 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