কম্পিউটার

C++ এ বিট অপারেটর ব্যবহার করে একটি সংখ্যা ধনাত্মক, ঋণাত্মক বা শূন্য কিনা তা পরীক্ষা করুন


এখানে আমরা বিট অপারেটর ব্যবহার করে একটি সংখ্যা ধনাত্মক, বা ঋণাত্মক বা শূন্য কিনা তা পরীক্ষা করব। যদি আমরা n>> 31 এর মত শিফটিং সঞ্চালন করি, তাহলে এটি প্রতিটি ঋণাত্মক সংখ্যাকে -1 এ রূপান্তর করবে, প্রতিটি অন্যান্য সংখ্যাকে 0 এ রূপান্তর করবে। যদি আমরা –n>> 31 সম্পাদন করি, তাহলে ধনাত্মক সংখ্যার জন্য এটি -1 প্রদান করবে। যখন আমরা 0 এর জন্য করি, তখন n>> 31, এবং –n>> 31, উভয়ই 0 প্রদান করে। এর জন্য আমরা নীচের মত আরেকটি সূত্র ব্যবহার করব -

1+(𝑛>>31)−(−𝑛>>31)

তাই এখন, যদি

  • n হল ঋণাত্মক:1 + (-1) – 0 =0
  • n ইতিবাচক:1 + 0 – (-1) =2
  • n হল 0:1 + 0 – 0 =1

উদাহরণ

#include <iostream>
#include <cmath>
using namespace std;
int checkNumber(int n){
   return 1+(n >> 31) - (-n >> 31);
}
int printNumberType(int n){
   int res = checkNumber(n);
   if(res == 0)
      cout << n << " is negative"<< endl;
   else if(res == 1)
      cout << n << " is Zero" << endl;
   else if(res == 2)
      cout << n << " is Positive" << endl;
}
int main() {
   printNumberType(50);
   printNumberType(-10);
   printNumberType(70);
   printNumberType(0);
}

আউটপুট

50 is Positive
-10 is negative
70 is Positive
0 is Zero

  1. একটি সংখ্যা ইতিবাচক, ঋণাত্মক, বিজোড়, জোড়, শূন্য কিনা তা পরীক্ষা করার জন্য C# প্রোগ্রাম

  2. একটি সংখ্যা ইতিবাচক, নেতিবাচক বা 0 কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. একটি সংখ্যা ইতিবাচক, ঋণাত্মক, বিজোড়, জোড়, শূন্য কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম?

  4. পাইথন ব্যবহার করে একটি সংখ্যা ধনাত্মক, ঋণাত্মক বা শূন্য কিনা তা কীভাবে পরীক্ষা করবেন?