본문 바로가기

Web Development/Java

[Java] 기본형 변수의 종류와 크기

  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