Programming/Java

1. 논리형 type ' boolean '은 왜 1bit가 아닌 1byte의 크기를 가질까?

📝 작성 : 2020.11.21  ⏱ 수정 : 
반응형

JAVA의 기본형(Primitive type) 중

논리형 데이터 타입인 boolean은 true 혹은 false 둘중 하나의 값만을 가진다.

true =1, false=0 이라고 간주하고 1 bit 면 충분히 표현 가능하다고 생각되는데, 왜 굳이 1byte 일까?

 

다행히도, google 검색을 통해 같은 질문을 찾을 수 있었다.

https://stackoverflow.com/questions/4626815/why-is-a-boolean-1-byte-and-not-1-bit-of-size

간단한 대답이 달렸는데, cpu가 1바이트 보다 작은 데이터를 처리 할 수 없다는 듯

 

두번째 대답도 비슷했다.  주소를 매길 수 있는 최소한의 단위가 byte 라는것.

 

검색을 이어가다보니 c 언어에서의 bool 타입도 똑같이 1 byte 를 차지한다는 걸 알 수 있었는데,

위의 이유 때문이라면 사실 어느 프로그래밍 언어에서도 논리형 데이터 타입이 1bit만 차지할 수는 없겠다.

stackoverrun.com/ko/q/13069715

 

실질적으로, 이미 1 바이트 이상의 데이터를 사용하기도 한다는데, 아직은 이해하기 어려운 개념이라 공부하다 나중에 복기하기 위해 글로 남겨둔다.

 

결론은, 실질적으로 사용하고 있는 데이터의 가장 작은 단위는 byte 라는 것.

반응형