BigInteger এর সাথে Addition, Subtraction, Multiplication, এবং Division

BigInteger এর সাথে Arithmetic Operations - জাভা ম্যাথ প্যাকেজ (Java.math Package) - Java Technologies

362

BigInteger ক্লাসটি Java.math প্যাকেজের একটি গুরুত্বপূর্ণ ক্লাস, যা খুব বড় পূর্ণসংখ্যা (integers) নিয়ে কাজ করার জন্য ব্যবহৃত হয়। এটি অগণিত সঠিকতা (arbitrary precision) প্রদান করে, যার মানে হল যে BigInteger দিয়ে আপনি যে কোনো আকারের পূর্ণসংখ্যার গাণিতিক অপারেশন করতে পারবেন, যা int বা long এর সীমা অতিক্রম করতে পারে।

BigInteger ক্লাসের সাহায্যে আপনি গাণিতিক অপারেশনগুলো যেমন যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি বড় সংখ্যার জন্য করতে পারেন।

BigInteger ক্লাসের ব্যবহার:

1. BigInteger ক্লাসের ইনস্ট্যান্স তৈরি করা

BigInteger তৈরি করার জন্য দুটি প্রধান উপায় রয়েছে:

  • String দিয়ে ইনস্ট্যান্স তৈরি করা
  • int/long দ্বারা ইনস্ট্যান্স তৈরি করা
import java.math.BigInteger;

public class BigIntegerExample {
    public static void main(String[] args) {
        // Create BigInteger objects from String
        BigInteger num1 = new BigInteger("123456789012345678901234567890");
        BigInteger num2 = new BigInteger("987654321098765432109876543210");

        // Create BigInteger objects from long or int
        BigInteger num3 = BigInteger.valueOf(1000000L);
        BigInteger num4 = BigInteger.valueOf(5000000L);

        // Print out the BigInteger values
        System.out.println("BigInteger num1: " + num1);
        System.out.println("BigInteger num2: " + num2);
        System.out.println("BigInteger num3: " + num3);
        System.out.println("BigInteger num4: " + num4);
    }
}

Output:

BigInteger num1: 123456789012345678901234567890
BigInteger num2: 987654321098765432109876543210
BigInteger num3: 1000000
BigInteger num4: 5000000

2. Addition (যোগ) with BigInteger

BigInteger.add(BigInteger) মেথডটি দুইটি BigInteger সংখ্যাকে যোগ করার জন্য ব্যবহৃত হয়।

import java.math.BigInteger;

public class BigIntegerAddition {
    public static void main(String[] args) {
        BigInteger num1 = new BigInteger("123456789012345678901234567890");
        BigInteger num2 = new BigInteger("987654321098765432109876543210");

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

Output:

Sum: 1111111110111111111011111111100

ব্যাখ্যা:

  • add() মেথড দুটি BigInteger অবজেক্ট যোগ করে একটি নতুন BigInteger রিটার্ন করে।

3. Subtraction (বিয়োগ) with BigInteger

BigInteger.subtract(BigInteger) মেথডটি দুটি BigInteger সংখ্যার মধ্যে বিয়োগ করার জন্য ব্যবহৃত হয়।

import java.math.BigInteger;

public class BigIntegerSubtraction {
    public static void main(String[] args) {
        BigInteger num1 = new BigInteger("987654321098765432109876543210");
        BigInteger num2 = new BigInteger("123456789012345678901234567890");

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

Output:

Difference: 864197532086419753208641975320

ব্যাখ্যা:

  • subtract() মেথড দুটি BigInteger অবজেক্টের মধ্যে বিয়োগ অপারেশন সম্পাদন করে।

4. Multiplication (গুণ) with BigInteger

BigInteger.multiply(BigInteger) মেথডটি দুটি BigInteger সংখ্যাকে গুণ করার জন্য ব্যবহৃত হয়।

import java.math.BigInteger;

public class BigIntegerMultiplication {
    public static void main(String[] args) {
        BigInteger num1 = new BigInteger("123456789012345678901234567890");
        BigInteger num2 = new BigInteger("987654321098765432109876543210");

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

Output:

Product: 121932631137021795226305170269409090211114380564702343445628259885000

ব্যাখ্যা:

  • multiply() মেথড দুটি BigInteger অবজেক্টের গুণফল প্রদান করে।

5. Division (ভাগ) with BigInteger

BigInteger.divide(BigInteger) মেথডটি দুটি BigInteger সংখ্যার মধ্যে ভাগ করার জন্য ব্যবহৃত হয়। তবে, ভাগের সময় সঠিকভাবে ফলাফল পাওয়ার জন্য divide() মেথডটি অতিরিক্ত নির্দিষ্ট রাউন্ডিং সিস্টেম প্রয়োগ করতে পারে।

import java.math.BigInteger;

public class BigIntegerDivision {
    public static void main(String[] args) {
        BigInteger num1 = new BigInteger("987654321098765432109876543210");
        BigInteger num2 = new BigInteger("123456789012345678901234567890");

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

Output:

Quotient: 8

ব্যাখ্যা:

  • divide() মেথডটি BigInteger সংখ্যা দুটি ভাগ করে একটি পূর্ণসংখ্যা (integer) রিটার্ন করে। যদি ভাগের ফলস্বরূপ দশমিক থাকে, তবে এটি decimal truncation (ডিসিমাল স্থান বাদ দেয়া) করতে পারে, যেহেতু BigInteger শুধুমাত্র পূর্ণসংখ্যা (integers) নিয়ে কাজ করে।

6. Handling Division with Rounding (ভাগের ক্ষেত্রে রাউন্ডিং)

যদি আপনি BigDecimal এর মতো BigInteger-এও ভাগের সময় রাউন্ডিং করতে চান, তবে BigDecimal ব্যবহার করতে হবে, কারণ BigInteger শুধুমাত্র পূর্ণসংখ্যা সমর্থন করে।

import java.math.BigDecimal;

public class BigDecimalDivisionWithRounding {
    public static void main(String[] args) {
        BigDecimal num1 = new BigDecimal("987654321098765432109876543210");
        BigDecimal num2 = new BigDecimal("123456789012345678901234567890");

        // Division with rounding
        BigDecimal quotient = num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP); // Rounding to 2 decimal places
        System.out.println("Quotient with rounding: " + quotient);
    }
}

Output:

Quotient with rounding: 8.00

  • BigInteger ক্লাসটি অগণিত সঠিকতা এবং বড় পূর্ণসংখ্যা নিয়ে কাজ করার জন্য গুরুত্বপূর্ণ।
  • এটি add(), subtract(), multiply(), এবং divide() মেথডগুলির মাধ্যমে বড় সংখ্যাগুলির গাণিতিক অপারেশন পরিচালনা করতে সহায়তা করে।
  • BigInteger এর সাহায্যে আপনি বৃহৎ গাণিতিক কাজ যেমন ক্রিপ্টোগ্রাফি, বিজ্ঞান বা উচ্চ নির্ভুলতার জন্য সঠিক গণনা করতে পারেন।
Content added By
Promotion

Are you sure to start over?

Loading...