बिगइंटीजर क्लास क्या है?
जावा में कुछ आदिम डेटा प्रकार हैं जिनका उपयोग पूर्णांक संचालन करने के लिए किया जाता है, जैसे कि 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 पर अलग-अलग तरीके लागू किए । हमने निम्नलिखित तरीके लागू किए:- big2.subtract(big1) 60 में से 20 घटाने के लिए।
- big1.add(big2) 20 और 60 जोड़ने के लिए।
- big1.multiply(big2) 20 और 60 का गुणा करने के लिए।
- big2.divide(big1) 60 को 20 से विभाजित करने के लिए।
- big1.min(big2) दो मानों में से छोटा प्राप्त करने के लिए।
- big1.max(big2) दो मानों में से बड़ा प्राप्त करने के लिए।
GO TO FULL VERSION