CodeGym /Java Blog /अनियमित /जावा बिगइंटीजर क्लास
John Squirrels
स्तर 41
San Francisco

जावा बिगइंटीजर क्लास

अनियमित ग्रुप में प्रकाशित

बिगइंटीजर क्लास क्या है?

जावा में कुछ आदिम डेटा प्रकार हैं जिनका उपयोग पूर्णांक संचालन करने के लिए किया जाता है, जैसे कि int या long। हालाँकि, कभी-कभी हमें ऐसे आदिम डेटा प्रकारों के दायरे से बाहर बड़ी संख्या में स्टोर करने की आवश्यकता होती है। BigInteger Class का उपयोग गणितीय गणनाओं के लिए बहुत बड़ी संख्या के लिए किया जाता है। यह java.lang.Math पैकेज से सभी विधियाँ प्रदान करता है और Java के सभी आदिम पूर्णांक ऑपरेटरों को अनुरूपता प्रदान करता है। BigIntegerकक्षा में मॉड्यूलर अंकगणित, बिट हेरफेर, जीसीडी गणना और कुछ अन्य संचालन शामिल हैं। BigIntegers को दो-पूरक संकेतन में दर्शाया गया है। कितनी बड़ी संख्या में संग्रहित किया जा सकता है, इस पर कोई सैद्धांतिक सीमा नहीं है क्योंकि स्मृति गतिशील रूप से आवंटित की जाती है। हालाँकि, व्यावहारिक रूप से मेमोरी सीमित है और हम एक पूर्णांक को स्टोर कर सकते हैं जिसमें बिट्स की संख्या Integer.MAX_VALUE से कम या उसके बराबर है । यह व्यावहारिक रूप से लगभग सभी बड़ी संख्याओं को संग्रहीत करने के लिए पर्याप्त रूप से बड़ी ऊपरी सीमा प्रदान करता है।

BigInteger क्लास को कैसे कार्यान्वित किया जाता है?


import java.math.BigInteger;
अपने कोड में BigInteger क्लास को लागू करने के लिए , आपको java.math.BigInteger पैकेज इम्पोर्ट करना होगा।

BigInteger वर्ग घोषणा

Java.math पैकेज में Java में BigInteger वर्ग को निम्न तरीके से घोषित किया गया है :

public class BigInteger
   extends Number
      implements Comparable<BigInteger>
BigInteger वर्ग संख्या वर्ग का विस्तार करता है और एक तुलनीय इंटरफ़ेस लागू करता है । इसे java.math पैकेज में घोषित और परिभाषित किया गया है।

क्लास कंस्ट्रक्टर्स

Java के BigInteger Class में कई ओवरलोडेड कंस्ट्रक्टर हैं। आप कोशिश कर सकते हैं और संपादक में प्रत्येक को चला सकते हैं यह देखने के लिए कि वे कैसे काम करते हैं।
सीनियर# निर्माता विवरण
1 बिगइंटर (बाइट [] वैल) एक बाइट सरणी को BigInteger में अनुवादित करता है ।
2 BigInteger (इंट साइनम, बाइट [] परिमाण) साइन-परिमाण प्रतिनिधित्व को BigInteger में अनुवादित करता है ।
3 BigInteger (इंट बिटलेंथ, इंट निश्चितता, रैंडम आरएनडी) निर्दिष्ट लंबाई के बेतरतीब ढंग से उत्पन्न धनात्मक BigInteger का निर्माण करता है।
4 बिगइंटर (स्ट्रिंग वैल) दशमलव स्ट्रिंग प्रतिनिधित्व को BigInteger में अनुवादित करता है ।
5 बिगइंटर (स्ट्रिंग वैल, इंट रेडिक्स) निर्दिष्ट मूलांक में स्ट्रिंग प्रतिनिधित्व को BigInteger में परिवर्तित करता है ।

कक्षा के तरीके

Java के BigInteger वर्ग में कई विधियाँ हैं, जिनमें से कुछ का वर्णन नीचे किया गया है। तालिका में, 'यह' BigInteger का प्रतिनिधित्व करता है जो विधि को कॉल करता है और ' वैल ' विधि को दिया गया तर्क है।
पेट () यह ' इस ' BigInteger का पूर्ण मान लौटाता है ।
जोड़ना() यह ' इस + वैल ' की गणना करके बिगिनटेगर देता है।
घटाना () यह ' इस - वैल ' की गणना करके बिगिनटेगर देता है।
विभाजित करना() यह ' इस / वैल ' की गणना करके बिगिनटेगर देता है।
गुणा () यह ' इस * वैल ' की गणना करके बिगिनटेगर देता है।
का मूल्य() यह दिए गए long का BigInteger मान लौटाता है ।
बराबर () यह ' इस ' BigInteger और दी गई वस्तु के बीच समानता की तुलना करता है।
पाउ () यह ' इसएक्सपोनेंट ' की गणना करके बिगिनटेगर लौटाता है।
न्यूनतम () यह ' इस ' BigInteger और दिए गए मान के बीच न्यूनतम लौटाता है ।
अधिकतम () यह ' इस ' BigInteger और दिए गए मान के बीच अधिकतम लौटाता है ।
आधुनिक () यह ' इस मॉड एम ' के लिए एक मान लौटाता है ।
जीसीडी () यह एक BigInteger लौटाता है जो ' इस ' के निरपेक्ष मान और ' पास किए गए मान ' के बीच सबसे बड़ा सामान्य विभाजक है।
बिटकाउंट () यह ' इस ' BigInteger के दो-पूरक प्रतिनिधित्व में बिट्स की संख्या देता है ।
बिट लम्बाई () यह ' इस ' BigInteger के न्यूनतम दो-पूरक प्रतिनिधित्व में, साइन बिट को छोड़कर बिट्स की संख्या देता है ।
और() यह ' इस और वैल ' की गणना करके बिगिनटेगर देता है।
या() यह ' इस |' की गणना करके एक बिगिनटेगर लौटाता है वैल '।
नहीं() यह ' ~इस' की गणना करके बिगिनटेगर लौटाता है।
और नहीं() यह ' इस और ~ वैल ' की गणना करके एक बिगिन्टेगर देता है।
इंटवैल्यू () यह BigInteger को int में परिवर्तित करता है ।
फ्लोटवैल्यू () यह BigInteger को फ्लोट में परिवर्तित करता है ।
लॉन्गवैल्यू () यह BigInteger को long में परिवर्तित करता है ।
डबलवैल्यू () यह BigInteger को double में कनवर्ट करता है ।
स्ट्रिंग() यह BigInteger का दशमलव स्ट्रिंग प्रतिनिधित्व लौटाता है ।

उदाहरण 1


import java.math.BigInteger;
public class Example1 {
    static BigInteger calculateFactorial(int val) {
        // Initialize result
        BigInteger f = BigInteger.ONE; // Or new BigInteger("1")
        // compute factorial
        for (int i = 2; i <= val; i++) {
            f = f.multiply(BigInteger.valueOf(i));
        }

        return f;
    }

    // Driver method
    public static void main(String[] args) {
        int val = 25;
        System.out.println(calculateFactorial(val));
    }
}

उत्पादन

15511210043330985984000000

व्याख्या

ऊपर दिए गए स्निपेट में, बड़ी संख्या के कारक की गणना Java.math.BigInteger पैकेज को इम्पोर्ट करके BigInteger Class का उपयोग करके की जाती है। हमने एक कैलकुलेटफैक्टोरियल विधि बनाई है। यह विधि एक BigInteger बनाती है और फिर गुणा विधि f.multiply(BigInteger.valueOf(i)) का उपयोग करके भाज्य की गणना करती है ।

उदाहरण 2


import java.math.BigInteger;
public class Example2 {

    public static void main(String[] args) {
        BigInteger big1 = new BigInteger("20");
        BigInteger big2 = new BigInteger("60");
        BigInteger sub = big2.subtract(big1);
        System.out.println(big2 + " - " + big1 + " = " + sub);
        BigInteger add = big1.add(big2);
        System.out.println(big1 + " + " + big2 + " = " + add);
        BigInteger mul = big1.multiply(big2);
        System.out.println(big1 + " * " + big2 + " = " + mul);
        BigInteger div = big2.divide(big1);
        System.out.println(big2 + " / " + big1 + " = " + div);
        BigInteger min = big1.min(big2);
        System.out.println("min value: " + min);
        BigInteger max = big1.max(big2);
        System.out.println("max value: " + max);
    }
}

उत्पादन

60 - 20 = 40 60 + 20 = 80 60 * 20 = 1200 60/20 = 3 न्यूनतम मान: 20 अधिकतम मान: 60

व्याख्या

उपरोक्त स्निपेट में, हमने BigInteger(String val) कंस्ट्रक्टर का उपयोग करके दो BigInteger बनाए हैं। हमने क्रमशः 20 और 60 मानों के साथ BigInteger के big1 और big2 पर अलग-अलग तरीके लागू किए । हमने निम्नलिखित तरीके लागू किए:
  1. big2.subtract(big1) 60 में से 20 घटाने के लिए।
  2. big1.add(big2) 20 और 60 जोड़ने के लिए।
  3. big1.multiply(big2) 20 और 60 का गुणा करने के लिए।
  4. big2.divide(big1) 60 को 20 से विभाजित करने के लिए।
  5. big1.min(big2) दो मानों में से छोटा प्राप्त करने के लिए।
  6. big1.max(big2) दो मानों में से बड़ा प्राप्त करने के लिए।
यह ध्यान रखना महत्वपूर्ण है कि java.math.BigInteger को कोड के शीर्ष पर आयात किया जाता है।

निष्कर्ष

अब तक आप Java में BigInteger Class से परिचित हो गए होंगे। आप विभिन्न प्रकार के कंस्ट्रक्टरों का उपयोग करके अपने कोड में BigInteger s का उपयोग करने में सक्षम होना चाहिए। आपको BigInteger Class विधियों का उपयोग करके उन पर विभिन्न अंकगणितीय और तार्किक संचालन करने में भी सक्षम होना चाहिए। एक चुनौती के रूप में, आप BigInteger s के विभिन्न मानों के साथ विभिन्न विधियों को कॉल करने का प्रयास कर सकते हैं । यह जावा में BigIntegers के बारे में आपकी समझ को और मजबूत करेगा। अपने सीखने में अधिक आत्मविश्वास रखने के लिए इसे बार-बार अभ्यास करने का प्रयास करें। अच्छी कोडिंग की कुंजी अभ्यास है। शुभकामनाएँ और खुश कोडिंग!
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION