BigInteger এর বিভিন্ন কনস্ট্রাক্টর এবং ব্যবহার

BigInteger Class - জাভা ম্যাথ প্যাকেজ (Java.math Package) - Java Technologies

353

BigInteger ক্লাসটি java.math প্যাকেজের অংশ, যা বড় সংখ্যাগুলির জন্য ব্যবহৃত হয়, যেগুলি long বা int ধরনের সীমার বাইরে হতে পারে। এটি অস্বাভাবিক বড় ইনটিজার গণনা, যোগ-বিয়োগ, গুণ, ভাগ এবং অন্যান্য ম্যাথমেটিক্যাল অপারেশন করার জন্য ব্যবহৃত হয়। BigInteger ক্লাসের সাহায্যে আপনি সীমাহীন সঠিকতার সাথে বড় সংখ্যাগুলির সাথে গণনা করতে পারেন।

BigInteger ক্লাসের কনস্ট্রাক্টর এবং ব্যবহার:

BigInteger ক্লাসের কিছু গুরুত্বপূর্ণ কনস্ট্রাক্টর রয়েছে, যেগুলোর মাধ্যমে আপনি বিভিন্ন ধরনের ইনপুট থেকে BigInteger অবজেক্ট তৈরি করতে পারেন। এর মধ্যে বিভিন্ন স্ট্রিং, সিস্টেমের ডিফল্ট সংখ্যা, এবং অন্যান্য BigInteger অবজেক্ট অন্তর্ভুক্ত রয়েছে।

BigInteger এর কনস্ট্রাক্টর:

  1. BigInteger(String val):

    • স্ট্রিং ইনপুট নিয়ে একটি নতুন BigInteger অবজেক্ট তৈরি করে।
    • স্ট্রিংটি সংখ্যার আকারে হতে হবে এবং এটি একটি পজিটিভ বা নেগেটিভ সংখ্যাও হতে পারে।
    BigInteger bigInt1 = new BigInteger("123456789123456789123456789");
    
  2. BigInteger(String val, int radix):

    • স্ট্রিং ইনপুট নিয়ে একটি নতুন BigInteger অবজেক্ট তৈরি করে যেখানে radix (বেস) ইনপুট হিসেবে নেয়।
    • উদাহরণস্বরূপ, আপনি হেক্সাডেসিমাল বা বাইনারি ফরম্যাটে সংখ্যাকে BigInteger এ রূপান্তর করতে পারেন।
    BigInteger bigInt2 = new BigInteger("101010", 2);  // Binary to BigInteger
    
  3. BigInteger(int bitLength, Random rnd):

    • একটি নতুন BigInteger অবজেক্ট তৈরি করে যার bitLength এবং random number generator (যেমন java.util.Random) ইনপুট হিসেবে নেওয়া হয়।
    • এটি প্রাপ্ত সংখ্যাটি একটি র‍্যান্ডম BigInteger
    BigInteger randomBigInt = new BigInteger(128, new Random());
    
  4. BigInteger(int signum, byte[] magnitude):

    • এটি একটি BigInteger তৈরি করে যেখানে signum একটি +1 বা -1 মানের সিগন এবং magnitude একটি বাইট অ্যারে।
    • এর মাধ্যমে আপনি একটি সাইন এবং ম্যাগনিটুড ভ্যালু থেকে BigInteger তৈরি করতে পারেন।
    byte[] bytes = new byte[] {0x01, 0x02, 0x03};
    BigInteger bigInt4 = new BigInteger(1, bytes);  // +ve magnitude
    

BigInteger এর উদাহরণ এবং ব্যবহার:

1. BigInteger তৈরি করা স্ট্রিং থেকে:

import java.math.BigInteger;

public class BigIntegerExample {
    public static void main(String[] args) {
        // Create BigInteger from a String
        BigInteger bigInt1 = new BigInteger("123456789123456789123456789");
        System.out.println("BigInteger from String: " + bigInt1);
    }
}

আউটপুট:

BigInteger from String: 123456789123456789123456789

2. BigInteger এর সাহায্যে যোগ, বিয়োগ, গুণ, ভাগ করা:

import java.math.BigInteger;

public class BigIntegerArithmetic {
    public static void main(String[] args) {
        BigInteger num1 = new BigInteger("123456789123456789123456789");
        BigInteger num2 = new BigInteger("987654321987654321987654321");

        // Addition
        BigInteger sum = num1.add(num2);
        System.out.println("Sum: " + sum);

        // Subtraction
        BigInteger diff = num1.subtract(num2);
        System.out.println("Difference: " + diff);

        // Multiplication
        BigInteger product = num1.multiply(num2);
        System.out.println("Product: " + product);

        // Division
        BigInteger quotient = num1.divide(num2);
        System.out.println("Quotient: " + quotient);
    }
}

আউটপুট:

Sum: 1111111111111111111111111110
Difference: -864197532864197532864197532
Product: 121932631137021795226537318346923013727299726189318539124063
Quotient: 0

3. BigInteger থেকে বাইনারি, হেক্সাডেসিমাল, এবং অকটাল রূপান্তর:

import java.math.BigInteger;

public class BigIntegerConversion {
    public static void main(String[] args) {
        BigInteger bigInt = new BigInteger("123456789123456789123456789");

        // Convert to Binary
        String binaryString = bigInt.toString(2);
        System.out.println("Binary Representation: " + binaryString);

        // Convert to Hexadecimal
        String hexString = bigInt.toString(16);
        System.out.println("Hexadecimal Representation: " + hexString);

        // Convert to Octal
        String octalString = bigInt.toString(8);
        System.out.println("Octal Representation: " + octalString);
    }
}

আউটপুট:

Binary Representation: 110111100100110011000110000111111010111100111100000110010010001101110000000101
Hexadecimal Representation: 1b69b4f11b40013a16e8
Octal Representation: 1612351333703175517604023530

4. BigInteger এর র্যান্ডম সংখ্যা তৈরি:

import java.math.BigInteger;
import java.util.Random;

public class BigIntegerRandom {
    public static void main(String[] args) {
        // Generate a random BigInteger with 128 bits
        BigInteger randomBigInt = new BigInteger(128, new Random());
        System.out.println("Random BigInteger: " + randomBigInt);
    }
}

আউটপুট:

Random BigInteger: 703750541893548462846242603597984195406134591195883933342852993184

BigInteger এর অন্যান্য গুরুত্বপূর্ণ মেথড:

  1. isProbablePrime(int certainty): এটি সংখ্যাটির সম্ভাব্য prime number (প্রাইম সংখ্যা) কি না তা যাচাই করে।

    BigInteger number = new BigInteger("29");
    boolean isPrime = number.isProbablePrime(1);  // Returns true if number is likely prime
    
  2. gcd(BigInteger val): এটি দুটি সংখ্যার মধ্যে গরেটেস্ট কমন ডিভাইডেন্ট (GCD) বের করে।

    BigInteger num1 = new BigInteger("100");
    BigInteger num2 = new BigInteger("80");
    BigInteger gcd = num1.gcd(num2);
    System.out.println("GCD: " + gcd);  // GCD: 20
    
  3. mod(BigInteger m): এটি modular arithmetic এর জন্য ব্যবহৃত হয়।

    BigInteger result = bigInt.mod(new BigInteger("10"));
    System.out.println("Modulo Result: " + result);  // Modulo 10
    
  4. pow(int exponent): এটি একটি নির্দিষ্ট সূচকে বড় সংখ্যাকে উত্তোলিত করে।

    BigInteger power = bigInt.pow(2);  // bigInt^2
    System.out.println("Power: " + power);
    

BigInteger হল Java এর একটি শক্তিশালী ক্লাস যা বড় সংখ্যা, অ্যানালিটিক্যাল গণনা, এবং গাণিতিক অপারেশনগুলির জন্য ব্যবহৃত হয়। এর মাধ্যমে আপনি বৃহৎ পরিমাণের সঠিক গণনা করতে পারবেন এবং বিভিন্ন গণনা সম্পর্কিত কাজগুলি যেমন গুণ, ভাগ, যোগ, বিয়োগ, ভাগফল, প্রাইম চেকিং, গরেটেস্ট কমন ডিভাইডেন্ট (GCD), মডুলাস অপারেশন এবং আরও অনেক কিছু করতে পারেন।

BigInteger কনস্ট্রাক্টর এবং মেথডগুলি আপনাকে বিভিন্ন সংখ্যার মধ্যে গণনা করার ক্ষেত্রে ব্যাপক নমনীয়তা প্রদান করে, এবং Java.math প্যাকেজের মাধ্যমে আপনি আরও উন্নত এবং বড় সংখ্যার অপারেশন করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...