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  -> 최대값