Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में दिए गए नंबर के वास्तविक बिट्स को उल्टा करें


एक पूर्णांक n दिया गया है जो ऋणात्मक नहीं है। लक्ष्य n के बिट्स को उल्टा करना है और ऐसा करने के परिणामस्वरूप होने वाली संख्या की रिपोर्ट करना है। बिट्स को उलटते समय, पूर्णांक के वास्तविक बाइनरी रूप का उपयोग किया जाता है; किसी भी अग्रणी 0 को ध्यान में नहीं रखा जाता है।

आइए इसके लिए विभिन्न इनपुट आउटपुट परिदृश्य देखें

इनपुट - 13

आउटपुट - दिए गए नंबर 11 के वास्तविक बिट्स को उल्टा करें

(13)10 = (1101)2.
After reversing the bits, we get:
(1011)2 = (11)10.

स्पष्टीकरण - बाइनरी बिट्स को इनपुट नंबर से प्राप्त किया जाता है जिसे फिर उलट दिया जाता है और अंत में दशमलव प्रारूप में बदल दिया जाता है जिसे आउटपुट के रूप में वापस कर दिया जाता है।

इनपुट -18

आउटपुट − दिए गए नंबर 9 के वास्तविक बिट्स को उल्टा करें

(18)10 = (10010)2.
After reversing the bits, we get:
(1001)2 = (9)10.

स्पष्टीकरण -बाइनरी बिट्स इनपुट नंबर से प्राप्त किए जाते हैं जिसे फिर उलट दिया जाता है और अंत में दशमलव प्रारूप में बदल दिया जाता है जिसे आउटपुट के रूप में वापस कर दिया जाता है।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • मुख्य विधि के अंदर

    • संख्या को इनपुट लिया जाता है और reverseBinaryBits(int input) . विधि में पास किया जाता है

  • विधि के अंदर reverseBinaryBits(int input)

    • उल्टे बिट्स को स्टोर करने के लिए एक वेरिएबल rev_input को इनिशियलाइज़ किया जाता है

    • एक लूप को ब्रेकिंग पॉइंट (इनपुट> 0) के साथ पुनरावृत्त किया जाता है (हम दाईं ओर से ट्रैवर्स कर रहे हैं)

      • बिटवाइज़ राइट शिफ्ट ऑपरेशन का उपयोग n के बाइनरी प्रतिनिधित्व में एक-एक करके बिट्स को पुनः प्राप्त करने के लिए किया जाता है, और बिटवाइज़ लेफ्ट शिफ्ट ऑपरेशन का उपयोग उन्हें रेव में जमा करने के लिए किया जाता है।

उदाहरण

class TutorialsPoint{
   public static int reverseBinaryBits(int input){
      int rev_input = 0;
      while (input > 0){
         rev_input <<= 1;
         if ((int) (input & 1) == 1){
            rev_input ^= 1;
         }
         input >>= 1;
      }
      return rev_input;
   }
   public static void main(String[] args){
      int input = 13;
      System.out.println("Reverse actual bits of the given number");
      System.out.println(reverseBinaryBits(input));
   }
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

Reverse actual bits of the given number
11

  1. जावा में JPasswordField के अंदर अंकों की संख्या को कैसे सीमित करें?

    एक JPasswordField JTextField . का उपवर्ग है और JPasswordField में दर्ज किए गए प्रत्येक वर्ण को एक गूंज . द्वारा प्रतिस्थापित किया जा सकता है चरित्र। यह पासवर्ड के लिए गोपनीय इनपुट की अनुमति देता है। JPasswordField की महत्वपूर्ण विधियाँ हैं getPassword(), getText(), getAccessibleContext() और आदि।

  1. कैसे जांचें कि कोई दिया गया वर्ण जावा में एक संख्या/अक्षर है या नहीं?

    चरित्र क्लास ऑब्जेक्ट . का एक उपवर्ग है वर्ग और यह किसी वस्तु में आदिम प्रकार के चार के मान को लपेटता है। वर्ण प्रकार की किसी वस्तु में एकल फ़ील्ड . होता है जिसका प्रकार चार है। isDigit() का उपयोग करके हम जांच सकते हैं कि स्ट्रिंग में दिया गया वर्ण एक संख्या/अक्षर है या नहीं चरित्र . की विधि कक्

  1. जावा में संख्या गिनने के लिए प्रोग्राम को कैसे कार्यान्वित करें?

    कार्यक्रम एक JLabel . का उपयोग करता है गिनती लेबल रखने के लिए, एक JTextField संख्या रखने के लिए घटक गिनती , जेबटन बनाने के लिए घटक जोड़ें , निकालें और रीसेट करें बटन। जब हम ऐड बटन पर क्लिक करते हैं, तो JTextField में गिनती बढ़ी हुई . हो जाएगी द्वारा 1 और हटाएं बटन पर क्लिक करने से गिनती 1 से