पैलिंड्रोम की जांच करने के लिए, मान लें कि हमारी संख्या 5 है, जिसका बाइनरी है -
101
101 का पैलिंड्रोम 101 है और जांचने के लिए आपको निम्नलिखित फ़ंक्शन का उपयोग करके बिट्स को उलटने की आवश्यकता है। यहां, बिटवाइज़ लेफ्ट और बिटवाइज़ राइट शिफ्ट ऑपरेटरों का उपयोग किया जाता है -
public static long funcReverse(long num) { long myRev = 0; while (num > 0) { myRev <<= 1; if ((num & 1) == 1) myRev ^= 1; num >>= 1; } return myRev; }
फिर वास्तविक प्रतिनिधित्व की तुलना funcReverse() फ़ंक्शन से मान वापस करके और प्राप्त करके रिवर्स एक से की जाएगी -
public static bool checkPalindrome(long num) { long myRev = funcReverse(num); return (num == myRev); }
उदाहरण
यह जांचने के लिए पूरा उदाहरण निम्नलिखित है कि क्या किसी संख्या का द्विआधारी प्रतिनिधित्व पैलिंड्रोम है -
using System; public class Demo { public static long funcReverse(long num) { long myRev = 0; while (num > 0) { myRev <<= 1; if ((num & 1) == 1) myRev ^= 1; num >>= 1; } return myRev; } public static bool checkPalindrome(long num) { long myRev = funcReverse(num); return (num == myRev); } public static void Main() { // Binary value of 5 us 101 long num = 5; if (checkPalindrome(num)) Console.WriteLine("Palindrome Number"); else Console.WriteLine("Not a Palindrome Number"); } }
आउटपुट
Palindrome Number