Java
[Java] 정수형
gorusair
2021. 12. 6. 23:47
정수형 - byte, short, int, long
정수형에는 모두 4개의 자료형이 있으며, 각 자료형이 저장할 수 있는 값의 범위가 서로 다르다.
byte (1) < short (2) < int(4) < long(8)
크기순으로 나열하면 다음과 같다. 단위는 byte이다.
byte부터 long까지 1 byte부터 시작해서 2 배씩 크기가 증가한다는 것을 알 수 있다. 이 중에서도 기본
자료형은 int이다.
정수형의 표현형식과 범위
S | n -1 bit |
S: 부호비트 (양수는 0, 음수는 1)
n : 타입의 크기(단위 bit)
n 비트로 표현할 수 있는 정수의 개수 | 2^n 개(= 2^n-1개 + 2 ^n-1개) |
n비트로 표현할 수 있는 부호있는 정수의 개수 | -2^n-1 ~2^n-1 -1 |
정수형의 표현범위
타입 | 저장가능한 값의 범위 | bit | byte |
byte | -128~127(-2^7~2^7-1) | 8 | 1 |
short | -32,768 ~32,767(-2^15~2^15-1) | 16 | 2 |
int | -2,147,483,648~2,147483,647(-2^31~2^31-1) | 32 | 4 |
long | -9,2223,372,036,854,775,808~9,223,372,036,854,775,807 (-2^63~2^63-1) |
64 | 8 |
# 정수형 변수를 선언할 떄는 int 타입으로 하고, int 범위를 넘어 서는 수를 다뤄야 할때에는 long을 사용하면 된다.
정수형 오버플로우
해당 타입이 표현할 수 있는 값의 범위를 넘어서는 것을 오버플로우라고 한다. 오버플로우가 발생했다고 해서 에러가
발생하는 것이 아니다. 다만 예상했던 결과를 얻지 못할 뿐이다.
정수형 타입의 최대값 최소값
최대값 + 1 -> 최소값 최소값 - 1 -> 최대값 |