본문 바로가기
Computer Science

자료형 한눈에 보기: 비트, 바이트와 정수, 실수, 문자, 논리형

by quessr 2025. 1. 23.

 

컴퓨터는 데이터를 저장하고 처리하기 위해 자료형(Data Type)을 사용합니다.

특히, 정수(Integer)와 실수(Floating Point)는 저장 방식과 연산에서 큰 차이가 있습니다.

정수는 이진법으로 정확히 저장할 수 있지만, 실수는 근사값으로 저장합니다.

이는 컴퓨터가 실수를 저장할 때 부동소수점(Floating Point) 방식을 사용하기 때문이며, 이로 인해 저장 오차가 발생합니다.

또한, 문자(Char)는 직접적으로 문자를 저장하지 않고, 문자에 해당하는 정수값(유니코드)를 저장합니다.

이번 글에서는 비트와 바이트의 기본 개념, 정수형과 실수형, 문자형 자료형의 특징, 그리고 FloatDouble의 차이를 중심으로 정리하겠습니다.


1. 비트(Bit)와 바이트(Byte)의 기본 개념

비트(Bit)란?

  • 비트(Bit)는 컴퓨터가 데이터를 표현하는 가장 작은 단위입니다.
  • 비트는 0 또는 1의 값을 가질 수 있습니다.
    • 예: 0, 1
  • N개의 비트가 있으면 총 2^N개의 값을 표현할 수 있습니다.
    • 예:
      • 1비트 → 2^1 = (0, 1)
      • 3비트 → 2^3 = (000, 001, 010, ..., 111)

바이트(Byte)란?

  • 바이트(Byte)는 8개의 비트로 구성된 데이터 단위입니다.
    • 1바이트 = 8비트
  • N비트가 모이면 이를 바이트로 변환할 수 있습니다:
    • 예: N비트 = N/8 바이트
      • 16비트 = 16/8 = 바이트

2. 자료형의 비트와 바이트

자료형은 비트 크기에 따라 데이터의 크기와 범위를 결정합니다. 이를 정수형(Integer), 실수형(Floating Point), 문자형(Char)으로 나누어 정리하면 다음과 같습니다.

1) 정수형 (Integer)

자료형 비트
(Bit)
바이트
(Byte)
범위
Byte 8 1 −128 ~ 127
Short 16 2 −32,768 ~ 32,767
Int 32 4 −2,147,483,648 ~ 2,147,483,647
Long 64 8 −9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 

2) 실수형 (Floating Point)

자료형 비트
(Bit)
바이트
(Byte)
범위 정밀도
Float 32 4 3.4×10^38 ~ 3.4×10^38 소수점 약 7자리 정확도
Double 64 8 1.7×10^308 ~ 1.7×10^308 소수점 약 15~16자리 정확도

3) 문자형 (Character)

자료형 비트(Bit) 바이트(Byte) 범위
Char 16 2 유니코드 문자 (\u0000 ~ \uFFFF)

4) 논리형 (Boolean)

자료형비트(Bit)바이트(Byte)범위

Boolean 1 1 (특별 처리됨) true, false
  • 논리형은 참(true) 또는 거짓(false)만 표현할 수 있습니다.
  • 조건문에서 자주 사용됩니다.

3. 문자(Char)의 저장 방식

왜 문자를 직접 저장할 수 없을까?

  • 컴퓨터는 0과 1로 이루어진 비트(Binary)만 이해할 수 있습니다.
  • 문자(예: A, 한)는 컴퓨터 내부에서 숫자 값으로 표현됩니다.
    • 문자 자체를 저장하지 않고, 유니코드(Unicode)라는 표준을 통해 문자에 매핑된 정수값을 저장합니다.
    • 예: A → 65, 한 → 54620.

유니코드(Unicode)란?

  • 유니코드(Unicode)는 전 세계의 문자를 고유한 정수 값으로 매핑한 표준입니다.
    • 16비트(2바이트)를 사용하여 \u0000부터 \uFFFF까지의 범위를 가집니다.
    • 예:
      • 'A' → \u0041 → 65
      • '한' → \uD55C → 54620
      • '🙂' → 128578

문자(Char)의 주요 특징

  • 단일 문자를 저장하며, 항상 **작은 따옴표(' ')**로 표현합니다.
    • 예: 'A', '1', '한'
  • 유니코드 값을 기반으로 문자에 접근하고 처리할 수 있습니다.

4. Float과 Double의 차이

Float vs Double

자료형 비트(Bit) 바이트(Byte) 범위 정밀도
Float 32 4 3.4×10^38 ~ 3.4×10^38 소수점 약 7자리 정확도
Double 64 8 1.7×10^308 ~ 1.7×10^308 소수점 약 15~16자리 정확도

Float과 Double의 차이점

  1. 저장 크기:
    •    Float: 32비트(4바이트)로 메모리를 적게 사용.
    •    Double: 64비트(8바이트)로 더 많은 메모리를 사용.
  2. 정밀도:
    •    Float: 약 7자리의 소수점 정밀도만 보장.
      •    예: 123.456789→123.4568
    •    Double: 약 15~16자리까지 정밀도 제공.
      •    예: 123.4567890123456→123.4567890123456
  3. 오차 범위:
    •    Float: 저장 공간이 제한적이므로 오차가 큼.
    •    Double: 더 많은 비트를 사용해 오차가 적음.

5. 자료형 선택 기준

사용 상황 추천 자료형
정수 처리 Int (일반적으로), Long (큰 값 처리 시)
소수점 정밀도가 중요하지 않음 Float
소수점 정밀도가 매우 중요함 Double
단일 문자 저장 Char
참/거짓 값 처리 Boolean
메모리를 절약해야 하는 경우 Float, Short, Byte

6. 결론

  1. 정수와 실수의 차이:
    •    정수는 이진법으로 정확히 저장 가능.
    •    실수는 부동소수점 방식으로 저장되며 근사값으로 표현됨.
  2. 문자의 저장 방식:
    •    컴퓨터는 문자를 직접 저장하지 못하고, 문자에 매핑된 유니코드 값(정수)를 저장함.
    •    유니코드 표준으로 전 세계의 모든 문자를 표현 가능.
  3. 논리 자료형(Boolean):
    •    참/거짓(true, false)을 표현하는 자료형.
  4. 실수 자료형 선택 기준:
    •    정밀도가 중요한 실수 계산에서는 Double을 사용하여 오차를 줄이는 것이 좋습니다.
    •    메모리 효율이 중요하다면 Float을 선택.
반응형