Programming/JAVA

[JAVA] 자바 int a = 011 -> 9가 나오는 이유 ( what is "int a = 011" and not 9 why, The literal 09 of type int is out of range )

Nirsa 2022. 3. 16. 23:07
반응형
자바 int a = 011 -> 9가 나오는 이유 ( what is "int a = 011" and not 9 why, The literal 09 of type int is out of range )

위와 같이 자바에서 의도치 않은 에러가 나올 경우가 있습니다. 똑같은 값을 변수에 입력 하더라도 입력 방식에 따라 서로 다른 의미가 부여되어 다른 결과값이 나오게 됩니다.

int num1 = 07 8 진수
int num2 = 7 10 진수
int num3 = 0x7 16진수
int num4 = 0b0111 binary (2진수)

 

결과값은 아래와 같습니다. 아래 결과를 이해하기 위해서는 8진수, 10진수, 16진수, binary(2진수)의 계산 방식을 이해할 필요가 있으며 이번 포스팅의 목표는 진법에 대해 아는것보다는 어떤식으로 입력되느냐에 따라 비슷해 보이지만 전혀 다른 결과값이 나올 수 있음을 아는것이기 때문에 진법의 설명은 생략하도록 하겠습니다.

 

반응형