프로그래밍 문법/java

[java] int의 오버플로우, long 형 변환

씩씩한 IT블로그 2024. 3. 4. 12:29
반응형

int의 범위

자바에서 인트의범위는 -2147483647 ~ 2147483647 이다.

그 이상의 값이 들어가면 에러가 발생하거나 쓰레기값이 나온다.

int a = 1233235*2351;
System.out.println(a);

결과값 : -1395631811

 

long 형변환

숫자뒤에 L을 붙이면 형변환이 되고 long타입으로 받을 수 있다.

long a = 1233235L*2351L;
System.out.println(a);

결과값 : 2899335485

 

L을 하나에만 해도 된다.

long a = 1233235*2351L;
System.out.println(a);

결과값 : 2899335485

 

나누기를 할 경우 곱셈되는 숫자에 L을 붙여줘야지, 나눗셈에 붙이면 또 터진다.

long a = 123334235*2351/2L;

결과값 : -1049494821

 

long a = 123334235L*2351/2;

결과값 : 144979393242

반응형