কম্পিউটার

C++ এ প্রদত্ত N এর সাথে 1 যোগ করার পর পরিবর্তিত বিটের সংখ্যা গণনা করা হয়েছে


আমাদের একটি সংখ্যা দেওয়া হয়েছে, আসুন সংখ্যা বলি এবং কাজটি হল একটি সংখ্যার সাথে 1 যোগ করা হলে পরিবর্তিত বিটের মোট সংখ্যা গণনা করা।

একটি সংখ্যার বাইনারি উপস্থাপনা প্রদত্ত সংখ্যাটিকে 0 এবং 1 এর আকারে রূপান্তর করে করা হয় এবং এটি বিভিন্ন পদ্ধতিতে করা হয়। একটি পদ্ধতিতে, আমরা একটি প্রদত্ত সংখ্যার LCM 2 দ্বারা গণনা করি এবং যদি একটি অনুস্মারক 0 ব্যতীত হয় তবে বিটটি 1 এ সেট করা হয় অন্যথায় এটি 0 এ সেট করা হবে৷

বিটগুলির জন্য সংযোজন টেবিল হল

0 + 1 = 1
1 + 0 = 1
0 + 0 = 0
1 + 1 = 1 ( 1 bit carry)

উদাহরণস্বরূপ

Input − num = 10
Output − count is : 1

ব্যাখ্যা − 10-এর বাইনারি উপস্থাপনা হল 1010 এবং যখন 1 যোগ করা হয় তখন প্রতিনিধিত্ব 1011 হয়ে যায়৷ স্পষ্টতই শুধুমাত্র একটি বিট পরিবর্তিত হয়েছে তাই গণনা হল 1৷

Input − num = 5
Output − count is : 2

ব্যাখ্যা − 5 এর বাইনারি উপস্থাপনা হল 101 এবং যখন 1 যোগ করা হয় তখন উপস্থাপনা 110 হয়ে যায়। স্পষ্টতই দুটি বিট পরিবর্তিত হয়েছে তাই গণনা হল 2

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • টাইপ পূর্ণসংখ্যার সংখ্যা ইনপুট করা যাক, int num

  • একটি ভেরিয়েবল ডিক্লেয়ার করুন যা কাউন্ট সংরক্ষণ করবে, ধরা যাক, int count

  • আরেকটি ভেরিয়েবল নিন, আসুন temp বলি যেটি সংখ্যার XOR গণনা করবে এবং এটিকে n^ (n + 1) এ সেট করবে

  • কাউন্ট ভেরিয়েবল কলে __builtin_popcount(temp)। এই ফাংশনটি একটি প্রদত্ত পূর্ণসংখ্যা বাইনারি উপস্থাপনায় সংখ্যা গণনা করা। এটি GCC কম্পাইলারের একটি অন্তর্নির্মিত ফাংশন।

  • গণনা ফেরত দিন

  • ফলাফল প্রিন্ট করুন।

উদাহরণ

#include <iostream>
using namespace std;
// Function to find number of changed bit
int changedbit(int n){
   int XOR = n ^ (n + 1);
   // Count set bits in xor value
   int count = __builtin_popcount(XOR);
   return count;
}
int main(){
   int n = 10;
   cout <<"count is: " <<changedbit(n);
   return 0;
}

আউটপুট

আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব −

count is: 1

  1. C++ এ একটি সংখ্যাকে ভাগ করার জন্য দশমিকের পরে সংখ্যার সংখ্যা গণনা করুন

  2. C++ এ হেক্সাডেসিমেল সংখ্যা গণনা করুন

  3. C++ এ প্রদত্ত সংখ্যার সেট বিট ব্যবহার করে ন্যূনতম সংখ্যা

  4. C++ এ সেট বিটের গণনা অনুসারে একটি অ্যারে সাজান