CodeGym /جاوا بلاگ /Random-SD /جاوا BigInteger ڪلاس
John Squirrels
سطح
San Francisco

جاوا BigInteger ڪلاس

گروپ ۾ شايع ٿيل

هڪ BigInteger ڪلاس ڇا آهي؟

جاوا ۾ ڪجھ پرائمري ڊيٽا جا قسم آھن جيڪي استعمال ڪيا ويندا آھن، جھڙوڪ int يا ڊگھو، انٽيجر آپريشن ڪرڻ لاءِ. بهرحال، ڪڏهن ڪڏهن اسان کي ضرورت هوندي آهي ته وڏي انگ کي ذخيرو ڪرڻ جي دائري کان ٻاهر اهڙي قسم جي ابتدائي ڊيٽا. BigInteger ڪلاس تمام وڏي انگن لاءِ رياضياتي حسابن لاءِ استعمال ٿيندو آهي. اهو سڀ طريقا مهيا ڪري ٿو java.lang.Math پيڪيج ۽ analogues مان جاوا جي سڀني ابتدائي انٽيجر آپريٽرن کي. BigInteger ڪلاس ماڊلر رياضي، بٽ مينيپوليشن، GCD حساب ڪتاب، ۽ ڪجھ ٻين عملن لاءِ آپريشنز کي ڍڪي ٿو. BigIntegers ٻن جي مڪمل نوٽشن ۾ ظاھر ڪيا ويا آھن. ڪابه نظرياتي حد ناهي ته ڪيترو وڏو نمبر محفوظ ڪري سگهجي ٿو ڇاڪاڻ ته ياداشت متحرڪ طور تي مختص ڪئي وئي آهي. بهرحال، عملي طور تي ياداشت محدود آهي ۽ اسان هڪ انٽيجر کي ذخيرو ڪري سگهون ٿا جنهن ۾ بٽس جو تعداد انٽيجر کان گهٽ يا برابر هجي. MAX_VALUE . اهو عملي طور تي تقريبن سڀني وڏن انگن کي ذخيرو ڪرڻ لاء ڪافي وڏي اپر بائونڊ مهيا ڪري ٿو.

BigInteger ڪلاس ڪيئن لاڳو ٿئي ٿو؟

import java.math.BigInteger;
توهان جي ڪوڊ ۾ BigInteger ڪلاس کي لاڳو ڪرڻ لاء ، توهان کي java.math.BigInteger پيڪيج درآمد ڪرڻ جي ضرورت آهي.

BigInteger Class Declaration

جاوا ۾ BigInteger ڪلاس java.math پيڪيج ۾ هيٺين طريقي سان اعلان ڪيو ويو آهي :
public class BigInteger
   extends Number
      implements Comparable<BigInteger>
BigInteger ڪلاس نمبر ڪلاس کي وڌائيندو آھي ۽ ھڪ تقابلي انٽرفيس لاڳو ڪندو آھي . اهو java.math پيڪيج ۾ اعلان ۽ وضاحت ڪئي وئي آهي.

ڪلاس تعمير ڪندڙ

جاوا جي BigInteger ڪلاس ۾ ڪيترائي اوور لوڊ ٿيل تعمير ڪندڙ آھن. توھان ڪوشش ڪري سگھوٿا ۽ ھر ھڪڙي کي ايڊيٽر ۾ ھلائي سگھوٿا ڏسو ته اھي ڪيئن ڪم ڪن ٿا.
سير# ٺاھيندڙ وصف
1 BigInteger(byte[]val) هڪ بائيٽ صف کي BigInteger ۾ ترجمو ڪري ٿو .
2 BigInteger (int signum, byte[] magnitude) ترجمو ڪري ٿو نشاني جي شدت جي نمائندگي کي BigInteger ۾ .
3 BigInteger (int bit Length، int certainty، Random rnd) ٺاھي ٿو ھڪڙي ترتيب سان ٺاھيل مثبت BigInteger مخصوص ڊگھائي جو.
4 BigInteger (اسٽرنگ ويل) ڊسيمل اسٽرنگ جي نمائندگي کي BigInteger ۾ ترجمو ڪري ٿو .
5 BigInteger (String val، int radix) بيان ڪيل ريڊيڪس ۾ اسٽرنگ جي نمائندگي کي بگ انٽيجر ۾ تبديل ڪري ٿو .

ڪلاس جا طريقا

جاوا جي BigInteger ڪلاس ۾ ڪيترائي طريقا آھن، جن مان ڪجھ ھيٺ ڏجن ٿا. ٽيبل ۾، 'هي' نمائندگي ڪري ٿو BigInteger جيڪو طريقو سڏيندو آهي ۽ ' val ' اهو دليل آهي جيڪو طريقو ڏانهن گذري ٿو.
abs() اهو ' This ' BigInteger جو پورو قدر واپس ڪري ٿو .
شامل ڪريو() اهو ' this + val ' ڪمپيوٽنگ ڪندي هڪ Biginteger واپس ڪري ٿو .
ڪٽ() اهو ' this - val ' ڪمپيوٽنگ ڪندي هڪ Biginteger واپس ڪري ٿو .
تقسيم () اهو ' this/val ' ڪمپيوٽنگ ڪندي هڪ Biginteger موٽائي ٿو .
ضرب () اهو ڪمپيوٽنگ ڪندي هڪ Biginteger واپس ڪري ٿو ' this * val '.
قدر جو () اهو ڏنو ويو ڊگهو جي هڪ BigInteger قدر ڏي ٿو .
برابر () اهو ' هن ' BigInteger ۽ ڏنل اعتراض جي وچ ۾ برابري جو مقابلو ڪري ٿو.
پاؤ () اهو ' this exponent ' ڪمپيوٽنگ ڪندي هڪ Biginteger موٽائي ٿو .
منٽ () اهو ' هن ' BigInteger ۽ ڏنل قدر جي وچ ۾ گھٽ ۾ گھٽ موٽائي ٿو .
وڌ ۾ وڌ() اهو ' هن ' BigInteger ۽ ڏنل قدر جي وچ ۾ وڌ ۾ وڌ واپس ڪري ٿو.
موڊ() اهو ' هن موڊ م ' لاءِ هڪ قدر واپس ڪري ٿو .
جي سي ڊي () اهو هڪ BigInteger موٽائي ٿو جيڪو ' هي ' ۽ ' پاس ٿيل ويل ' جي مطلق قدر جي وچ ۾ سڀ کان وڏو عام تقسيم ڪندڙ آهي .
bitCount() اهو ' this ' BigInteger جي ٻن-مڪمل نمائندگي ۾ بٽ جو تعداد واپس ڪري ٿو .
bit Length() اهو بٽ جو تعداد واپس ڪري ٿو، نشاني بٽ کان سواء، ' this ' BigInteger جي گهٽ ۾ گهٽ ٻن جي مڪمل نمائندگي ۾ .
۽() اهو ' This & val ' ڪمپيوٽنگ ڪندي هڪ Biginteger موٽائي ٿو .
يا() اهو ' هي | وال '.
نه() اهو '~ this' ڪمپيوٽنگ ڪندي هڪ Biginteger موٽائي ٿو .
۽ نه() اهو ' this & ~val ' ڪمپيوٽنگ ڪندي هڪ Biginteger موٽائي ٿو .
intValue() اهو BigInteger کي int ۾ تبديل ڪري ٿو .
floatValue() اهو بدلائي ٿو BigInteger کي float ۾ .
ڊگهو قدر () اهو بدلائي ٿو BigInteger ڊگهي ۾ .
ٻيڻو قدر () اهو بدلائي ٿو BigInteger کي ڊبل ۾ .
toString() اهو واپس ڏئي ٿو decimal string جي نمائندگي 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

وضاحت

مٿين حصي ۾، وڏي انگ جو عنصر حساب ڪيو ويو آهي BigInteger Class استعمال ڪندي java.math.BigInteger پيڪيج درآمد ڪندي. اسان هڪ calculateFactorial طريقو ٺاهيو آهي . هي طريقو هڪ 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 s ٺاهيا آهن . اسان مختلف طريقن کي لاڳو ڪيو BigInteger s big1 ۽ big2 تي بالترتيب 20 ۽ 60 سان. اسان هيٺين طريقن کي لاڳو ڪيو:
  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 ڪوڊ جي چوٽي تي درآمد ٿيل آهي.

نتيجو

هينئر تائين توهان کي جاوا ۾ BigInteger ڪلاس کان واقف ٿيڻ گهرجي. توهان کي استعمال ڪرڻ جي قابل هوندو BigInteger s توهان جي ڪوڊ ۾ مختلف قسم جي تعمير ڪندڙن کي استعمال ڪندي. توھان کي پڻ انھن تي مختلف رياضي ۽ منطقي عمل ڪرڻ جي قابل ٿيڻ گھرجي BigInteger ڪلاس طريقا استعمال ڪندي . هڪ چئلينج جي طور تي، توهان ڪوشش ڪري سگهو ٿا مختلف طريقن کي ڪال ڪرڻ جي مختلف قدرن سان BigInteger s. اهو جاوا ۾ BigInteger s جي توهان جي سمجھ کي وڌيڪ مضبوط ڪندو . توھان جي سکيا ۾ وڌيڪ اعتماد حاصل ڪرڻ لاءِ ان کي بار بار مشق ڪرڻ جي ڪوشش ڪريو. سٺي ڪوڊنگ جي ڪنجي مشق آهي. بهترين قسمت ۽ خوش ڪوڊنگ!
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION