কম্পিউটার

C++ এ প্রথম এবং শেষ তিনটি বিট


এই সমস্যায়, আমাদের একটি সংখ্যা N দেওয়া হয়েছে। আমাদের কাজ হল প্রদত্ত পূর্ণসংখ্যা মানের জন্য মুষ্টি তিনটি এবং শেষ তিনটি বিটের দশমিক রূপান্তর খুঁজে বের করা .

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

Input : 57
Output : 71

সমাধান পদ্ধতি

একটি সহজ সমাধান হল সংখ্যাটি n এর বাইনারি সমতুল্য পরিবর্তন করে এবং তারপর বিটগুলিকে একটি অ্যারেতে সংরক্ষণ করা। এর পরে, আমরা অ্যারে থেকে প্রথম তিনটি এবং শেষ তিনটি মান পৃথকভাবে সংখ্যায় রূপান্তর করব। বিটের উভয় সেটের দশমিক রূপান্তরই আমাদের ফলাফল।

উদাহরণস্বরূপ, 80 নম্বরটি নিন।

80 এর বাইনারি রূপান্তর হল 1010000।

প্রথম তিনটি বিটের দশমিক রূপান্তর (101) হল 5.

শেষ তিনটি বিটের (000) দশমিক সমতুল্য হল 0.

তাই আউটপুট হল 5 0.

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম

#include <bits/stdc++.h>
using namespace std;
void convtbnTodcml(int n)
{
   int arr[64] = { 0 };
   int x = 0, index;
   for (index = 0; n > 0; index++) {
      arr[index] = n % 2;
      n /= 2;
   }
   x = (index < 3) ? 3 : index;
   int d = 0, p = 0;
   for (int index = x - 3; index < x; index++)
      d += arr[index] * pow(2, p++);
   cout << d << " ";
   d = 0;
   p = 0;
   for (int index = 0; index < 3; index++)
      d += arr[index] * pow(2, p++);
   cout << d;
}
int main()
{
   int n = 57;
   cout<<"Decimal conversion of first and last bits of the number "<<n<<" is ";
   convtbnTodcml(n);
   return 0;
}

আউটপুট

Decimal conversion of first and last bits of the number 57 is 7 1

  1. সাব-অ্যারের সর্বাধিক দৈর্ঘ্য যার প্রথম এবং শেষ উপাদান C++ এ একই

  2. স্ট্রিং এর প্রথম এবং শেষ অক্ষর সমান কিনা তা পরীক্ষা করার জন্য C++ প্রোগ্রাম

  3. কিলোবাইটকে বাইট এবং বিটকে C++ এ রূপান্তর করার প্রোগ্রাম

  4. কিভাবে এক্সেলে প্রথম এবং শেষ নাম আলাদা করবেন