CodeGym /Java Blog /यादृच्छिक /Java BigInteger वर्ग
John Squirrels
पातळी 41
San Francisco

Java BigInteger वर्ग

यादृच्छिक या ग्रुपमध्ये प्रकाशित केले

BigInteger क्लास म्हणजे काय?

Java मध्ये काही आदिम डेटा प्रकार आहेत जे पूर्णांक ऑपरेशन्स करण्यासाठी int किंवा long सारखे वापरले जातात. तथापि, काहीवेळा आपल्याला अशा आदिम डेटा प्रकारांच्या व्याप्तीबाहेर मोठ्या संख्येने संचयित करण्याची आवश्यकता असते. बिगइंटीजर क्लासचा वापर मोठ्या संख्येच्या गणितीय गणनेसाठी केला जातो. हे java.lang.Math पॅकेजमधील सर्व पद्धती आणि Java च्या सर्व आदिम पूर्णांक ऑपरेटरना अॅनालॉग प्रदान करते. BigIntegerवर्गामध्ये मॉड्यूलर अंकगणित, बिट मॅनिप्युलेशन, GCD गणना आणि इतर काही ऑपरेशन्स समाविष्ट आहेत. BigIntegers दोन-पूरक नोटेशनमध्ये दर्शविले जातात. किती मोठी संख्या संचयित केली जाऊ शकते यावर कोणतीही सैद्धांतिक मर्यादा नाही कारण मेमरी गतिशीलपणे वाटप केली जाते. तथापि, व्यावहारिकदृष्ट्या मेमरी मर्यादित आहे आणि आम्ही पूर्णांक संचयित करू शकतो ज्यामध्ये पूर्णांक MAX_VALUE पेक्षा कमी किंवा समान बिट्सची संख्या आहे . हे जवळजवळ सर्व मोठ्या संख्येने संचयित करण्यासाठी पुरेसे मोठे वरचे बंधन प्रदान करते.

BigInteger वर्ग कसा लागू केला जातो?


import java.math.BigInteger;
तुमच्या कोडमध्ये BigInteger क्लास लागू करण्यासाठी , तुम्हाला java.math.BigInteger पॅकेज इंपोर्ट करावे लागेल.

BigInteger वर्ग घोषणा

Java मधील BigInteger क्लास java.math पॅकेजमध्ये खालील प्रकारे घोषित केला आहे :

public class BigInteger
   extends Number
      implements Comparable<BigInteger>
BigInteger वर्ग संख्या वर्गाचा विस्तार करतो आणि तुलना करण्यायोग्य इंटरफेस लागू करतो . हे java.math पॅकेजमध्ये घोषित आणि परिभाषित केले आहे.

वर्ग रचनाकार

Java च्या BigInteger क्लासमध्ये अनेक ओव्हरलोड केलेले कन्स्ट्रक्टर आहेत. ते कसे कार्य करतात हे पाहण्यासाठी तुम्ही प्रत्येक संपादकात वापरून पाहू शकता.
Sr# बांधकाम करणारा वर्णन
BigInteger(बाइट[] व्हॅल) बाइट अॅरेला BigInteger मध्ये भाषांतरित करते .
2 BigInteger(int signum, byte[] magnitude) साइन-मॅग्निट्यूडचे प्रतिनिधित्व BigInteger मध्ये भाषांतरित करते .
3 BigInteger(int bitLength, int निश्चितता, Random rnd) निर्दिष्ट लांबीचा यादृच्छिकपणे व्युत्पन्न केलेला सकारात्मक BigInteger तयार करतो.
4 BigInteger(स्ट्रिंग व्हॅल) दशांश स्ट्रिंगचे प्रतिनिधित्व BigInteger मध्ये भाषांतरित करते .
BigInteger(स्ट्रिंग व्हॅल, इंट रेडिक्स) निर्दिष्ट केलेल्या रेडिक्समधील स्ट्रिंगचे प्रतिनिधित्व BigInteger मध्ये रूपांतरित करते .

वर्ग पद्धती

Java च्या BigInteger वर्गात अनेक पद्धती आहेत, त्यापैकी काही खाली वर्णन केल्या आहेत. टेबलमध्ये, 'हे' बिगइंटीजरचे प्रतिनिधित्व करते जे मेथडला कॉल करते आणि ' व्हॅल ' हा मेथडला पास केलेला वितर्क आहे.
abs() ते ' this ' BigInteger चे परिपूर्ण मूल्य परत करते .
जोडा() हे ' this + val ' ची गणना करून बिगइंटिजर मिळवते .
वजा() हे ' this - val ' ची गणना करून बिगइंटिजर मिळवते .
विभाजित () हे ' this/val ' ची गणना करून एक Biginteger मिळवते .
गुणाकार () हे ' this * val ' ची गणना करून बिगइंटिजर मिळवते .
ची किंमत() हे दिलेल्या दीर्घांकाचे BigInteger मूल्य मिळवते .
समान() हे ' हे ' BigInteger आणि दिलेल्या ऑब्जेक्टमधील समानतेची तुलना करते .
pow() हे ' this exponent ' ची गणना करून बिगइंटिजर मिळवते .
मि() हे ' या ' BigInteger आणि दिलेल्या मूल्यामधील किमान परतावा देते .
कमाल() ते ' या ' BigInteger आणि दिलेल्या मूल्यामधील कमाल परत करते .
मोड() हे ' this mod m ' साठी मूल्य मिळवते .
gcd() हे एक BigInteger मिळवते जे ' this ' च्या निरपेक्ष मूल्य आणि ' पास केलेले मूल्य ' यांच्यातील सर्वात मोठा सामान्य विभाजक आहे .
bitCount() हे ' this ' BigInteger च्या दोन-पूरक प्रतिनिधित्वातील बिट्सची संख्या मिळवते .
bitLength() हे ' हा ' BigInteger च्या किमान दोन-पूरक प्रतिनिधित्वामध्ये, चिन्ह बिट वगळून, बिट्सची संख्या परत करते .
आणि() हे ' this & val ' ची गणना करून बिगइंटिजर मिळवते .
किंवा() हे ' या | val '.
नाही() हे '~this' ची गणना करून बिगइंटिजर मिळवते .
आणि नाही() हे ' this & ~val ' ची गणना करून बिगइंटिजर मिळवते .
intValue() हे BigInteger ला int मध्ये रूपांतरित करते .
floatValue() हे BigInteger ला फ्लोटमध्ये रूपांतरित करते .
longValue() हे BigInteger ला long मध्ये रूपांतरित करते .
दुहेरी मूल्य() हे BigInteger ला दुप्पट मध्ये रूपांतरित करते .
toString() हे BigInteger चे दशांश स्ट्रिंग प्रतिनिधित्व मिळवते .

उदाहरण १


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 क्लास वापरून मोठ्या संख्येचा घटक मोजला जातो . आम्ही कॅल्क्युलेट फॅक्टोरियल पद्धत तयार केली आहे. ही पद्धत एक BigInteger तयार करते आणि नंतर f.multiply(BigInteger.valueOf(i)) गुणाकार पद्धती वापरून फॅक्टोरियलची गणना करते .

उदाहरण २


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 s बनवले आहेत . आम्ही BigIntegers big1 आणि big2 वर अनुक्रमे 20 आणि 60 मूल्यांसह भिन्न पद्धती लागू केल्या . आम्ही खालील पद्धती लागू केल्या:
  1. 60 मधून 20 वजा करण्यासाठी big2.subtract(big1) .
  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 क्लासशी परिचित असाल. तुम्ही विविध प्रकारचे कन्स्ट्रक्टर वापरून तुमच्या कोडमध्ये BigInteger s वापरण्यास सक्षम असावे . तुम्ही BigInteger क्लास पद्धती वापरून त्यांच्यावर वेगवेगळे अंकगणित आणि तार्किक ऑपरेशन्स देखील करू शकता . आव्हान म्हणून, तुम्ही BigInteger s च्या भिन्न मूल्यांसह भिन्न पद्धती कॉल करण्याचा प्रयत्न करू शकता. हे Java मधील BigInteger s बद्दलची तुमची समज आणखी मजबूत करेल . तुमच्या शिकण्यात अधिक विश्वास ठेवण्यासाठी त्याचा वारंवार सराव करण्याचा प्रयत्न करा. चांगल्या कोडिंगची गुरुकिल्ली म्हणजे सराव. शुभेच्छा आणि आनंदी कोडिंग!
टिप्पण्या
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION