정수형 - 단위는 byte 기준
크기순 나열시 byte(1) < short(2) < int(4) < long(8)
정수형의 표현형식과 범위
어떤 진법의 리터럴을 변수에 저장해도 컴퓨터는 2진수로 저장
2진수가 저장되는 형식은 정수형과 실수형이 있음
정수형
S | n-1 bit
S : 부호 비트 (양수는 0, 음수는 1)
n : 타입의 크기(단위 : bit)
첫번째 비트를 부호 비트로 사용, 나머지는 값을 표현
0 으로 시작하는 2^n - 1개의 값을 양수(0 포함) 표현에 사용
또한 1로 시작하는 2^n - 1개의 값은 음수 표현에 사용
n비트로 표현할 수 있는 정수의 개수 : 2^n개(2^7 + 2^7)
n비트로 표현할 수 있는 부호있는 정수의 범위 : -2^(n-1) ~ 2^(n-1) - 1
ex)
8비트로 표현할 수 있는 정수의 개수 : 2^8개(= 2^7개 + 2^7개)
8비트로 표현할 수 있는 부호있는 정수의 범위 : -2^7 ~ 2^7 - 1(-128 ~ 127)
일반적으로 정수형 변수를 선언할 떄는 int타입을 사용,
int의 범위(약 20억)를 넘어가는 수를 사용해야 할때 long을 사용
9
정수형의 오버플로우
오버플로우 : 타입이 표현할 수 있는 값의 범위를 넘어서는 것
최대값(9999) + 1 -> 최소값(0000)
최소값(0000) - 1 -> 최대값(9999)
부호있는 정수의 오버플로우
부호비트가 0에서 1이 될 때 오버플로우가 발생
16비트로 표현할 수 있는 정수의 개수 : 2^16개(65536개)
short타입의 표현범위 : -2^15 ~ 2^15 - 1 (-32768 ~ 32767)
char타입의 표현범위 : 0 ~ 2^16 - 1 (0 ~ 65535)
'Backend > Java' 카테고리의 다른 글
자바의 정석 정리(10) - 형변환 ① (0) | 2022.05.24 |
---|---|
자바의 정석 정리(9) - 실수형 (0) | 2022.05.23 |
자바의 정석 정리(7) - 아스키와 유니코드 (0) | 2022.05.20 |
자바의 정석 정리(6) - 기본형 타입 (0) | 2022.05.19 |
자바의 정석 정리(5) - 진법과 보수 (0) | 2022.05.19 |