ComputerScience/Java

(Java) int와 long 범위

imachill7guy 2025. 3. 10. 17:53

 

📌 int와 long이 담을 수 있는 범위

자료형 크기 (bit) 최소값 최대값 대략적인 자리 수
int 32-bit -2,147,483,648 (-2³¹) 2,147,483,647 (2³¹-1) 10자리
long 64-bit -9,223,372,036,854,775,808 (-2⁶³) 9,223,372,036,854,775,807 (2⁶³-1) 19자리

📌 int와 long의 자리 수 기준

  • int는 약 10자리 정수까지 안전하게 저장 가능.
  • long은 약 19자리 정수까지 저장 가능.
  • 10자리 초과하면 long을 써야 함!
    → 예를 들어 100억(10,000,000,000) 이상이면 long 필요.

✅ 예제 코드

public class IntegerLongTest {
    public static void main(String[] args) {
        int intMax = Integer.MAX_VALUE;
        long longMax = Long.MAX_VALUE;

        System.out.println("int 최대값: " + intMax);  // 2,147,483,647
        System.out.println("long 최대값: " + longMax); // 9,223,372,036,854,775,807
    }
}

 

⚠️ 주의:

  • 큰 숫자 리터럴을 long으로 사용하려면 L을 붙여야 함!
     
long num = 10000000000L; // 100억 (L을 붙여야 오류 없음)

 

  • int 범위를 초과하는 값은 자동으로 long이 아님
int num = 10000000000; // ❌ 오류 발생! (int 범위 초과)

 

👉 결론:

  • 10자리 이하 → int
  • 10자리 초과 → long
  • 정확한 큰 수 계산이 필요하면 BigInteger 사용 🚀