[컴퓨터구조] 데이터와 표현 파헤치기

2026. 5. 4. 16:37·CS/Computer Structure

* 개념 복습과 학습 정도를 파악하고자 포스팅합니다!
* Claude, ChatGPT를 활용하여 이미지를 생성하고 활용합니다.

 

데이터와 표현

1. 비트와 바이트

컴퓨터는 10진법이 아닌 2진법을 사용해 정보를 저장하기 때문에 0과 1만을 저장합니다.

전기 신호의 전압이 일정 시준보다 높으면 1, 그렇지 않으면 0으로 변환하여 사용합니다!

 

비트(bit)는 0과 1을 표현할 수 있는 최소 단위입니다. 

ex) 001, 000, 010

 

바이트(byte)는 8비트를 한 묶음으로 표현한 단위. 즉 1바이트당 256(=2^8)가지의 데이터 표현이 가능하죠.

바이트를 더 큰 단위로 묶어 1KB, 1MB, 1GB, 1TB로 표현합니다.

 

아래 표는 10진수와 2진수를 비교한 표입니다.

10진수 2진수
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000

 

16진법은 0~9, A~F를 사용하여 표현할 수 있습니다.

  • 0부터 9까지는 0 ~ 9.

10부터 15까지는 A ~ F.

16부터는 10, 11, ~~

 


2. 컴퓨터의 숫자 표현 - 정수

음수의 표현

  • 부호 비트
    • 컴퓨터는 n비트에서 가장 왼쪽의 비트 (최상위 비트)를 부호 비트로 사용하여 음수를 표현합니다
    • 부호 비트가 1이면 음수, 0이면 0또는 양수
    • 예를 들어 4비트로 숫자를 표현한다고 할 때, 1011의 경우 최상위 비트가 1이므로 음수입니다
  • 2의 보수
    • 음수를 저장하기위해 사용하는 방법입니다
    • 모든 비트를 반전시키고 1을 더합니다
    • 0011의 2의 보수는 1101 → -3으로 인식합니다
    • n개의 비트로 표현할 수 있는 정수의 범위는 -2^(n-1) 부터 2^(n-1)-1 까지입니다

3. 컴퓨터의 숫자 표현 - 실수

부동 소수점

  • 국제 표준 IEEE 754의 부동 소수점 표현 방식으로 실수를 표현하고 저장합니다
  • 32비트 기준으로 가장 최상위 비트를 부호비트로 사용하고, 나머지 31개 비트를 지수 필드와 가수 필드로 분리합니다
  • 지수(E) 필드는 값의 범위를 나타내는 2의 거듭제곱 수를 저장합니다
    • 23~30번째 비트, 256개 표현이 가능합니다
  • 가수(M) 필드는 정밀도를 나타내기 위해 실제 숫자의 유효한 자릿수를 저장합니다
    • 0~22번쨰 비트, 2^23개의 표현이 가능합니다

예시

8.3125

8.3125를 이진수로 표현하면

정수 부분 8은 1000

 

소수 부분 0.3125는 이진법으로 변환하면

0.3125 * 2 = 0.625, 정수 부분 0을 취합니다.

0.625 * 2 = 1.25, 정수 부분 1을 취합니다.

0.25 * 2 = 0.5, 정수 부분 0을 취합니다.

0.5 * 2 = 1.0, 1을 취합니다.

앞 순서대로 0101을 받습니다.

 

따라서 1000.0101이 됩니다.

 


3. 컴퓨터의 문자 표현

아스키코드

128개의 문자 조합을 제공하는 7비트 부호입니다. (2^7 = 128)

오류 검출을 위한 패리티 부호에 해당하는 1비트를 포함하여 총 8비트로 구성되어있습니다.

하나의 문자는 하나의 번호에 대응합니다.

문자 A를 숫자 65로 변환하는 것을 인코딩이라 하며, 숫자 65를 해석하여 문자 A로 변환하는 것을 디코딩이라고 합니다.

 

유니코드

아스키코드는 미국의 표준이라서 한국어, 일본어, 중국어 등의 외국어를 표현하는 데 한계가 존재했습니다.

전 세계 문자를 동일한 방법으로 표현하기 위해 1995년 유니코드가 국제 표준으로 제정됐습니다.

초기엔 16비트였으나 표현할 문자와 이모티콘이 많아져서 지금은 21비트로 늘었습니다.

 

UTF-8

유니코드에 대해 가변 길이 인코딩을 수행합니다.

인코딩 결과는 1바이트 ~ 4바이트가 가능하죠.

자주 쓰는 문자를 1바이트로 처리하여 용량을 절약합니다.

1바이트 문자는 아스키 코드와 호환이 되는데요! 예를 들어 'A'는 아스키 코드 65번으로, 인코딩 시 01000001로 표현되는데 이는 'A'를 UTF-8로 변환해도 동일합니다.

'CS > Computer Structure' 카테고리의 다른 글

[컴퓨터구조] 컴퓨터의 구성 파헤치기  (0) 2026.05.04
'CS/Computer Structure' 카테고리의 다른 글
  • [컴퓨터구조] 컴퓨터의 구성 파헤치기
BackendInho
BackendInho
항상 열정적으로 부딪히고 깨닫는 주니어 백엔드 개발자의 여정을 기록합니다!
  • BackendInho
    Inho.devlog
    BackendInho
  • 전체
    오늘
    어제
    • 분류 전체보기 (41)
      • TIL (0)
      • Language (21)
        • Java (21)
      • Backend (8)
        • Spring (8)
      • Database (0)
        • SQL (0)
      • CS (8)
        • Computer Structure (2)
        • Network (2)
        • OS (1)
        • Data Structure & Algorithms (3)
      • Devops (0)
        • Docker & Kubernetes (0)
      • Coding-Test (1)
        • Programmers (3)
        • LeatCode (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    API
    CS
    HTTP
    java
    REST
    REST API
    Spring
    Spring Boot
    Web
    공간복잡도
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
BackendInho
[컴퓨터구조] 데이터와 표현 파헤치기
상단으로

티스토리툴바