Android App/Java
오버플로우와 언더플로우
AppJinny
2023. 1. 18. 16:39
*오버플로우와 언더플로우
-오버플로우(overflow) : 타입이 허용하는 최대값을 벗어나는 것
-언더플로우(underflow) : 타입이 허용하는 최소값을 벗어나는 것
-정수 타입 연산에서 오버플로우 또는 언더플로우 발생 시 실행에러가 발생하지 않고 해당 정수 타입의 최소값 또는 최대값으로 되돌아감
//정수형 타입(byte, short, int, long)모두 적용됨
//오버플로우와 언더플로우 예
//byte타입의 범위 : -128 ~127
//만약 byte타입 범위의 최대값을 초과하는 경우
//오버플로우
byte value = 127;
value++;
System.out.println(value); //결과 값: -128
//언더플로우
byte value = -128;
value--;
System.out.println(value); //결과 값: 127
-오버플로우와 언더플로우가 발생하지 않도록 항상 해당 타입의 범위 내에서 연산이 수행되도록 신경써야함
이 포스팅에 작성한 내용은 신용권, 임경균, ⌜이것이 자바다⌟, 한빛미디어(주), 2022 에서 발췌하였습니다.