본문 바로가기

Java의 정석

Overflow

정수의 Overflow

package variable;

public class OverflowExample {
    public static void main(String[] args) {
        /*
        * 정수의 오버플로우 - 정수 값이 허용된 범위의 최댓값 보다 커지면 오버플로우, 최솟값 보다 작아지면 언더플로우
        * 해결 방안은 정수 타입의 크기를 확인하여 알맞는 크기의 자료형을 선택할 것
        * */
        byte a = 127;
        a++;
        System.out.println(a); //byte의 범위는 -128 ~ 127로 127에서 오버플로우 되어 -128로 넘어가게 됨

        byte b = -128;
        b--;
        System.out.println(b); //-128에서 언더플로우 되어 127로 넘어감

        byte c = 127;
        System.out.println(a+c); // 127 + 127의 기대값은 254지만 overflow가 일어나 -1
    }
}

오버플로우 문제점 - [공유] https://steemit.com/kr/@gichan/hqcf4

 

강남 스타일의 조회수는 어떻게 음수가 될수 있었을까?(How could Gangnam style views be negative?) — Steemi

한 때 강남스타일이 전세계 적으로 유명했을 때가 있었다. 강남스타일이 인기를 타면서 유튜브에서는 전세계 적으로 수많은 사람들이 강남스타일을 보게 되었다. 그로 인하여 강남 스타일의 조

steemit.com

 

'Java의 정석' 카테고리의 다른 글

객체 지향 개념 - 1 객체지향 언어? 클래스와 객체  (0) 2022.02.25
Array  (0) 2022.02.24
Variable, Constant, Literal  (0) 2022.02.22
ReferenceType  (0) 2022.02.18
PrimitiveType  (0) 2022.02.17