1 Byte | 2 Byte | 3 Byte | 4 Byte | |
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
1Byte = 8bit
비트(bit)는 2진수로서 0또는 1의 값을 가짐.
컴퓨터는 일반적으로 8개 단위의 비트(8bit)를 하나의 그룹으로 사용하고 이를 바이트(Byte)라 함.
즉, 1바이트는 8개의 on/off 상태를 조합하여 나타낼수 있는 수는 총 256 (2^8)개가 되기 때문에
1바이트(Byte)는 0 부터 255 까지 값을 가질수 있게 됨.
n비트로 표현할 수 있는 값의 개수: 2^n개
n비트로 표현할 수 있는 부호 없는 정수의 범위: 0~(2^n)-1
n비트로 표현할 수 있는 부호 있는 정수의 범위: -(2^n-1)~(2^n-1)-1
int 타입은 4Byte(32bit)으로 대략 -20억~20억 범위의 정수를 표현할 수 있음
-> 이 범위를 초과하는 정수는 long 타입 (8Byte) 사용
long 타입은 대략 -800경~800경 범위의 정수를 표현
실수형 float, double
실수를 2진법으로 변환할 때 대부분의 소수는 무한히 순환하며 반복됨.
이런 경우 메모리의 저장 범위 이후의 반복되는 수를 잘라내게 되므로 오차가 발생
float : [ 부호부 1bit | 지수부 8bit | 가수부 23bit ] = 총 32bit
double : [ 부호부 1bit | 지수부 11bit | 가수부 52bit ] = 총 64bit
-참조
자바의 정석
https://mindnet.tistory.com/entry/네트워크-이해하기-1편-Bit-와-Byte-차이점 [Mind Net:티스토리]
'Web Development > Java' 카테고리의 다른 글
[Java] 캡슐화, TDA 원칙 (2) | 2024.01.13 |
---|---|
[Java] 객체지향개념3 (1) | 2024.01.09 |
[Java] 객체지향개념2 (1) | 2024.01.09 |
[Java] 객체지향개념1 (1) | 2024.01.09 |
[Java] 변수 타입간의 변환 방법 (1) | 2023.12.28 |