CodeGym /జావా బ్లాగ్ /యాదృచ్ఛికంగా /జావా బిగ్ఇంటిజర్ క్లాస్
John Squirrels
స్థాయి
San Francisco

జావా బిగ్ఇంటిజర్ క్లాస్

సమూహంలో ప్రచురించబడింది

BigInteger క్లాస్ అంటే ఏమిటి?

జావాలో పూర్ణాంక కార్యకలాపాలను నిర్వహించడానికి పూర్ణాంక లేదా పొడవు వంటి కొన్ని ఆదిమ డేటా రకాలు ఉన్నాయి . అయితే, కొన్నిసార్లు మనం అటువంటి ఆదిమ డేటా రకాల పరిధికి వెలుపల పెద్ద సంఖ్యలను నిల్వ చేయాలి. BigInteger క్లాస్ చాలా పెద్ద సంఖ్యల కోసం గణిత గణనల కోసం ఉపయోగించబడుతుంది. ఇది java.lang.Math ప్యాకేజీ నుండి అన్ని పద్ధతులను మరియు జావా యొక్క అన్ని ఆదిమ పూర్ణాంక ఆపరేటర్‌లకు అనలాగ్‌లను అందిస్తుంది. పెద్ద పూర్ణాంకంక్లాస్ మాడ్యులర్ అంకగణితం, బిట్ మానిప్యులేషన్, GCD లెక్కింపు మరియు కొన్ని ఇతర కార్యకలాపాల కోసం కార్యకలాపాలను కవర్ చేస్తుంది. BigIntegers రెండు పూరక సంజ్ఞామానంలో సూచించబడతాయి. మెమరీ డైనమిక్‌గా కేటాయించబడినందున ఎంత పెద్ద సంఖ్యను నిల్వ చేయవచ్చనే దానిపై సైద్ధాంతిక పరిమితి లేదు. అయినప్పటికీ, ఆచరణాత్మకంగా మెమరీ పరిమితం చేయబడింది మరియు మేము పూర్ణాంకం కంటే తక్కువ లేదా సమానమైన బిట్‌ల సంఖ్యను కలిగి ఉన్న పూర్ణాంకాన్ని నిల్వ చేయవచ్చు . MAX_VALUE . ఇది ఆచరణాత్మకంగా దాదాపు అన్ని పెద్ద సంఖ్యలను నిల్వ చేయడానికి తగినంత పెద్ద ఎగువ సరిహద్దును అందిస్తుంది.

BigInteger క్లాస్ ఎలా అమలు చేయబడింది?


import java.math.BigInteger;
మీ కోడ్‌లో BigInteger తరగతిని అమలు చేయడానికి , మీరు java.math.BigInteger ప్యాకేజీని దిగుమతి చేయాలి .

బిగ్ఇంటిజర్ క్లాస్ డిక్లరేషన్

జావాలోని BigInteger తరగతి java.math ప్యాకేజీలో క్రింది విధంగా ప్రకటించబడింది :

public class BigInteger
   extends Number
      implements Comparable<BigInteger>
BigInteger తరగతి సంఖ్య తరగతిని విస్తరించింది మరియు పోల్చదగిన ఇంటర్‌ఫేస్‌ను అమలు చేస్తుంది. ఇది java.math ప్యాకేజీలో ప్రకటించబడింది మరియు నిర్వచించబడింది.

క్లాస్ కన్స్ట్రక్టర్స్

Java యొక్క BigInteger క్లాస్‌లో చాలా ఓవర్‌లోడ్ కన్స్ట్రక్టర్‌లు ఉన్నాయి. అవి ఎలా పని చేస్తాయో చూడడానికి మీరు ప్రతిదాన్ని ఎడిటర్‌లో ప్రయత్నించవచ్చు మరియు అమలు చేయవచ్చు.
శ్రీ# కన్స్ట్రక్టర్ వివరణ
1 BigInteger(బైట్[] val) బైట్ శ్రేణిని BigInteger లోకి అనువదిస్తుంది .
2 BigInteger(int signum, byte[] magnitude) సైన్-మాగ్నిట్యూడ్ ప్రాతినిధ్యాన్ని BigInteger లోకి అనువదిస్తుంది .
3 BigInteger(int bitLength, int surety, Random rnd) పేర్కొన్న పొడవు యొక్క యాదృచ్ఛికంగా ఉత్పత్తి చేయబడిన సానుకూల BigIntegerని నిర్మిస్తుంది.
4 BigInteger(స్ట్రింగ్ వాల్) దశాంశ స్ట్రింగ్ ప్రాతినిధ్యాన్ని BigInteger లోకి అనువదిస్తుంది .
5 BigInteger(స్ట్రింగ్ వాల్, పూర్ణాంక రాడిక్స్) పేర్కొన్న రాడిక్స్‌లోని స్ట్రింగ్ ప్రాతినిధ్యాన్ని BigInteger గా మారుస్తుంది .

తరగతి పద్ధతులు

జావా యొక్క BigInteger తరగతి అనేక పద్ధతులను కలిగి ఉంది, వాటిలో కొన్ని క్రింద వివరించబడ్డాయి. పట్టికలో, 'ఇది' పద్ధతిని పిలిచే BigIntegerని సూచిస్తుంది మరియు ' val ' అనేది పద్ధతికి పంపబడిన వాదన.
abs() ఇది ' this ' BigInteger యొక్క సంపూర్ణ విలువను అందిస్తుంది .
జోడించు() ఇది ' దిస్ + వాల్'ని కంప్యూట్ చేయడం ద్వారా బిగ్‌టిజర్‌ని అందిస్తుంది .
తీసివేయి () ఇది ' దిస్ - వాల్'ని కంప్యూటింగ్ చేయడం ద్వారా బిగ్ఇంటెజర్‌ని అందిస్తుంది .
విభజించు() ఇది ' this / val 'ని కంప్యూట్ చేయడం ద్వారా ఒక Bigintegerని అందిస్తుంది .
గుణించండి() ఇది ' this * val 'ని కంప్యూటింగ్ చేయడం ద్వారా ఒక బిగ్ఇంటీజర్‌ని అందిస్తుంది .
యొక్క విలువ() ఇది ఇచ్చిన పొడవు యొక్క BigInteger విలువను అందిస్తుంది .
సమానం() ఇది ' ' బిగ్ఇంటెజర్ మరియు ఇచ్చిన వస్తువు మధ్య సమానత్వాన్ని పోల్చింది.
పౌ() ఇది ' ఈ ఘాతాంకం'ని కంప్యూటింగ్ చేయడం ద్వారా ఒక పెద్ద సంఖ్యను అందిస్తుంది .
నిమి() ఇది ' this ' BigInteger మరియు ఇచ్చిన విలువ మధ్య కనిష్టాన్ని అందిస్తుంది .
గరిష్ట () ఇది ' this ' BigInteger మరియు ఇచ్చిన విలువ మధ్య గరిష్టాన్ని అందిస్తుంది .
మోడ్() ఇది ' ఈ mod m ' కి విలువను అందిస్తుంది .
gcd() ఇది ' ఇది ' మరియు ' ఉత్తీర్ణత విలువ ' యొక్క సంపూర్ణ విలువ మధ్య అతిపెద్ద సాధారణ విభజన అయిన BigIntegerని అందిస్తుంది .
bitCount() ఇది ' this ' BigInteger యొక్క రెండు పూరక ప్రాతినిధ్యంలోని బిట్‌ల సంఖ్యను అందిస్తుంది .
బిట్ లెంగ్త్() ఇది ' this ' BigInteger యొక్క కనిష్ట టూస్-కాంప్లిమెంట్ ప్రాతినిధ్యంలో సైన్ బిట్ మినహా బిట్‌ల సంఖ్యను అందిస్తుంది .
మరియు() ఇది ' దిస్ & వాల్'ని కంప్యూట్ చేయడం ద్వారా బిగ్ఇంటీజర్‌ని అందిస్తుంది .
లేదా () ఇది గణించడం ద్వారా ఒక పెద్ద సంఖ్యను అందిస్తుంది | వాల్ '.
కాదు () ఇది '~దిస్'ని కంప్యూట్ చేయడం ద్వారా పెద్దసంఖ్యను అందిస్తుంది .
మరియు కాదు() ఇది ' this & ~val 'ని కంప్యూట్ చేయడం ద్వారా ఒక బిగ్‌ఇంటీజర్‌ని అందిస్తుంది .
intValue() ఇది BigIntegerని పూర్ణాంకానికి మారుస్తుంది .
ఫ్లోట్ వాల్యూ() ఇది BigIntegerని ఫ్లోట్‌గా మారుస్తుంది .
దీర్ఘ విలువ() ఇది BigIntegerని పొడవుగా మారుస్తుంది .
డబుల్ విలువ() ఇది BigIntegerని రెట్టింపుగా మారుస్తుంది .
toString() ఇది 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 క్లాస్‌ని ఉపయోగించి లెక్కించబడుతుంది . మేము గణన ఫాక్టోరియల్ పద్ధతిని సృష్టించాము . ఈ పద్ధతి ఒక 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 లను తయారు చేసాము . మేము BigInteger s big1 మరియు big2 లో వరుసగా 20 మరియు 60 విలువలతో విభిన్న పద్ధతులను వర్తింపజేసాము . మేము ఈ క్రింది పద్ధతులను వర్తింపజేసాము:
  1. 60 నుండి 20ని తీసివేయడానికి big2.subtract(big1) .
  2. 20 మరియు 60ని జోడించడానికి big1.add(big2) .
  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 లను ఉపయోగించగలరు . మీరు BigInteger క్లాస్ పద్ధతులను ఉపయోగించడం ద్వారా వాటిపై విభిన్న అంకగణిత మరియు తార్కిక కార్యకలాపాలను కూడా చేయగలగాలి . సవాలుగా, మీరు BigInteger s యొక్క విభిన్న విలువలతో విభిన్న పద్ధతులను కాల్ చేయడానికి ప్రయత్నించవచ్చు. ఇది జావాలో BigIntegers గురించి మీ అవగాహనను మరింత బలోపేతం చేస్తుంది . మీ అభ్యాసంపై మరింత నమ్మకంగా ఉండటానికి, దానిని పదే పదే సాధన చేసేందుకు ప్రయత్నించండి. మంచి కోడింగ్‌కి కీలకం సాధన. శుభాకాంక్షలు మరియు సంతోషకరమైన కోడింగ్!
వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION