728x90
개요
수학적인 계산에서 나머지를 구하는 일이 자주 발생합니다.
예를 들어, 암호화 알고리즘에서는 큰 수의 나머지 계산이 필수적이며, 어떤 수를 다른 수로 나누고 그 나머지를 구하는 연산은 다양한 분야에서 중요합니다.
자바의 BigInteger 클래스는 큰 수를 다루는 데 필요한 여러 연산을 제공합니다. 그 중에서도 mod() 함수에 대해서 정리하고자 합니다.
BigInteger 클래스에서 mod() 함수 사용하기
BigInteger 클래스의 mod() 함수는 나머지 연산을 수행하는 메서드로, 두 BigInteger 객체 간에 나누기 연산을 수행하고 그 나머지를 반환합니다. mod() 함수는 크게 두 가지 주요 기능을 가지고 있습니다.
1. 큰 수의 나머지 계산
- BigInteger를 사용하면 매우 큰 수에 대해서도 나머지 연산을 할 수 있습니다.
2. 음수 처리
- BigInteger.mod() 함수는 나머지 연산 결과가 항상 0 이상이 되도록 보장합니다. 이를 통해 음수 문제를 처리할 수 있습니다.
mod() 함수 시그니처 및 동작 방식
BigInteger mod(BigInteger m)
- 매개변수 m: 나누는 값인 BigInteger 객체입니다.
- 반환 값: 나머지를 계산한 결과인 BigInteger 객체를 반환합니다.
mod() 예시 코드
import java.math.BigInteger;
public class BigIntegerModExample {
public static void main(String[] args) {
// 두 개의 큰 수 선언
BigInteger a = new BigInteger("1000000000000000000000000000000000000000000000000");
BigInteger b = new BigInteger("12345");
// 나머지 계산
BigInteger remainder = a.mod(b);
// 결과 출력
System.out.println("나머지: " + remainder);
}
}
위 코드에서 BigInteger 클래스의 mod() 함수를 사용하여 a라는 매우 큰 수를 b라는 작은 수로 나누고 그 나머지를 구하는 예시입니다. 이처럼 BigInteger.mod()는 큰 수를 처리할 때 유용하게 사용됩니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2024.11.15 - STAR 기법이란 무엇일까❓ (0) | 2024.11.15 |
---|---|
[TIL, 일일 회고] 2024.11.14 - A/B 테스트: 데이터 기반 의사결정의 힘 (0) | 2024.11.14 |
[TIL, 일일 회고] 2024.11.12 - MySQL에서 특정 년도와 월에 해당하는 데이터를 조회하는 다양한 방법 (0) | 2024.11.12 |
[TIL, 일일 회고] 2024.11.11 - Java에서 소수점 반올림하는 방법 (Math.round(), String.format()) (0) | 2024.11.11 |
[TIL, 일일 회고] 2024.11.10 - RBAC와 ABAC란 무엇일까❓ (0) | 2024.11.10 |