Java BigInteger는 문자열 저장소에 대한 Long 정수 자동 증가보다 큽니다.


머리말

BigIntegerJava의 클래스는 고정된 범위 제한 없이 모든 크기의 정수를 나타낼 수 있습니다. 내부 배열을 사용하여 자릿수를 정수로 저장하고 산술 및 기타 연산을 수행하는 다양한 방법을 제공합니다.

BigInteger클래스의 크기는 사용 가능한 메모리에 의해서만 제한됩니다. long이는 유형의 범위를 훨씬 넘어서는 매우 큰 정수를 나타낼 수 있습니다 .


BigInteger 자동 증가

Java에는 long. long정수를 나타내는 Java의 가장 큰 데이터 유형이며 범위는 -9,223,372,036,854,775,808입니다 9,223,372,036,854,775,807.

더 큰 정수를 처리해야 하는 경우 java.math.BigInteger클래스를 사용할 수 있습니다. BigInteger이 클래스는 모든 크기의 정수를 지원하며 증분 연산을 수행할 수 있습니다.

BigInteger다음은 다음을 사용하여 증분 작업을 수행하는 방법을 보여주는 샘플 코드입니다 .

import java.math.BigInteger;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        BigInteger bigInteger = new BigInteger("9223372036854775808"); // 初始化一个大整数

        bigInteger = bigInteger.add(BigInteger.ONE); // 自增操作

        System.out.println(bigInteger); // 输出结果
    }
}

이 예에서는 먼저 BigInteger생성자를 사용하여 큰 정수를 초기화합니다. 그런 다음 메서드를 사용하여 원래 값에 1을 add()더하는 증분 작업을 수행합니다 . BigInteger.ONE마지막으로 증분 후 결과를 인쇄합니다.

출력은 다음과 같습니다

9223372036854775809

불변 클래스 이므로 BigInteger증분 작업이 수행될 때마다 새 BigInteger객체가 반환됩니다. 따라서 증가된 값을 저장하려면 결과를 원래 변수에 다시 할당해야 합니다.

BigInteger를 문자열로 변환

BigInteger유형의 값을 String저장을 위한 유형 으로 변환 하려는 경우 toString()메소드를 사용할 수 있습니다. 다음은 샘플 코드입니다.

import java.math.BigInteger;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        BigInteger bigInteger = new BigInteger("9223372036854775808"); // 初始化一个大整数

        bigInteger = bigInteger.add(BigInteger.ONE); // 自增操作

        String result = bigInteger.toString(); // 转换为String类型

        System.out.println(result); // 输出结果
    }
}

이 예에서는 toString()메소드를 사용하여 BigInteger유형의 값을 유형으로 변환 하고 그 결과를 변수 String에 저장합니다 . 그런 다음 값을 result인쇄하십시오 .result

출력은 다음과 같습니다

9223372036854775809

이제 result데이터베이스, 파일 등 필요한 곳에 문자열 값을 변수에 저장할 수 있습니다.

BigInteger 계승

BigIntegerJava의 클래스는 고정된 범위 제한 없이 모든 크기의 정수를 나타낼 수 있습니다. 내부 배열을 사용하여 자릿수를 정수로 저장하고 산술 및 기타 연산을 수행하는 다양한 방법을 제공합니다.

BigInteger클래스의 크기는 사용 가능한 메모리에 의해서만 제한됩니다. long이는 유형의 범위를 훨씬 넘어서는 매우 큰 정수를 나타낼 수 있습니다 . BigInteger계승 계산, 지수 연산 등과 같이 long해당 유형의 범위를 초과하는 큰 수의 연산을 수행하는 데 사용할 수 있습니다 .

BigInteger다음은 매우 큰 계승 계산 의 사용을 보여주는 샘플 코드입니다 .

import java.math.BigInteger;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        int n = 1000; // 计算1000的阶乘

        BigInteger factorial = BigInteger.ONE;

        for (int i = 1; i <= n; i++) {
    
    
            factorial = factorial.multiply(BigInteger.valueOf(i));
        }

        System.out.println(factorial);
    }
}

이 예에서는 BigInteger1000의 계승값이 를 사용하여 계산됩니다. BigInteger.ONE1을 나타내는 multiply()메서드는 곱셈 연산을 수행하는 데 사용됩니다.

Supongo que te gusta

Origin blog.csdn.net/xiaohuihui1400/article/details/134056806
Recomendado
Clasificación