본문 바로가기

학교 공부/컴퓨터공학론

3. 비트패턴을 이용한 자료의 표현

이 강의 자료는 **비트 패턴**을 이용하여 텍스트, 숫자, 이미지, 사운드와 같은 다양한 형태의 데이터를 컴퓨터에서 어떻게 표현하는지 설명합니다. 다양한 문자 코드( ASCII, Unicode, ISO)와 한글 코드의 종류 및 특징을 살펴보고, **이미지 표현 방식**인 비트맵과 벡터 기법의 장단점을 비교합니다. 또한, 사운드의 디지털 표현 방식과 샘플링 과정을 설명하고, 10진수와 2진수간의 변환 방법을 제시합니다. 궁극적으로, 컴퓨터가 정보를 처리하는 기본적인 원리를 이해하고, **디지털 데이터의 표현 방식**에 대한 기본적인 지식을 습득할 수 있도록 돕습니다. 

## 1. 📚 자료의 저장 및 표현 목표
- 본 자료는 비트패턴을 이용한 자료 표현에 대해 다루고 있다. 
- 학습 목표로는 각종 코드의 이해와 함께 영상 및 소리의 표현 방법을 익히고, 2진수와 10진수간의 변환 기술을 포함한다. 

## 2. 📊 코드와 비트 패턴 표현
- **프린트 가능한 모든 문자**에 대해 고유의 **bit pattern**이 할당되며, 이는 ASCII, Unicode, ISO 표준 등을 통해 나타난다. 
- ASCII는 7-bit를 사용하여 주로 영어 문자를 표현하지만, 영어 이외의 언어는 표현할 수 없다. 
- ANSI는 원래 7-bit 체계에서 시작하여 현재는 **8-bit**로 확장되어 사용된다. 
- 컴퓨터는 **2진수**만을 인식하며, 사람의 문자나 기호는 이를 2진수로 변환하는 규약을 따른다. 
- Unicode는 **16-bit** 표준으로, 65,536개의 문자 중 49,000개는 지정되며, 주로 한국어, 중국어, 일본어를 포함한다. 

## 3. 📊 비트패턴과 숫자 표현의 이해
- 한글 코드는 한국공업진흥청에서 제정한 KS X 1001:2004에 따라 완성형 한글 2350자를 표현하나, **완전한 한글 표현이 불가능**하다. 
- Unicode에서는 **11,172자의 한글**이 지원되며, 조합형 한글코드는 KS X 1001 부속서 3에 포함되어 있다. 
- 숫자의 표현은 이진법에 기반하여 이루어지며, 컴퓨터 수치 표현에서 **오버플로우**는 표현 가능한 수의 한계를 넘을 때 발생한다. 
- **버림(Truncation)**은 두 연속된 숫자 사이의 숫자를 표현하고자 할 때 발생하는 문제이다. 
- 일반적으로 숫자는 **2의 보수****(2’s complement)** 표현을 사용하여 2진수로 변환하여 연산된다. 

## 4. 🖼️ 이미지 표현 기법
- **비트맵** 기법은 픽셀의 2차원 배열로, 간단하지만 임의의 크기로 확대 및 축소하기가 어렵다. 
- 비트맵에서는 적록청( RGB) 값으로 픽셀을 표현하며, 1024행, 1024열의 경우 약 **3바이트**가 필요하다. 
- 압축 방법으로는 **GIF**와 **JPEG**가 있으며, 이는 저장 공간을 절약하는 데 도움이 된다. 
- **벡터 기법**은 기본 도형의 집합으로 구성되어 있어 확대 및 축소가 자유로운 장점이 있다. 
- 벡터 기법의 예로는 **PostScript**와 **PDF**가 있으며, 이들은 어떤 프린터에서도 인쇄가 가능하다. 

## 5. 🎵 음파의 표현 방법
- **음파(Sound wave)**는 주어진 **Amplitude**를 일정 시간 간격으로 **sampling**하여 정수로 저장된다. 이때, mono는 **16-bit**, stereo는 **32-bit**로 표현된다. 
- 장거리 전화에서는 발신기가 초당 **8000회** 소리를 sampling하고, 이 정수 값들이 수신기로 전송된다. 수신기는 이를 소리로 재생한다. 
- 음악 녹음의 경우 초당 **44,100 sample**이 필요하며, 이는 고음질의 사운드를 제공한다. 
- **MIDI**** Sound**는 소리를 생성하기 위한 명령어만 기억하고, 예를 들어 클라리넷의 D 노트를 2초 동안 연주하기 위한 데이터는 **3bytes**로 표현된다. 
- 44.1K samples는 총 **2 M bits**의 데이터를 생성하며, 이는 고음질 음악의 중요한 측면이다. 

## 6. 📊 이진수 체계의 이해
- **이진수(Binary Number System)**는 10진 실수를 정확히 표현할 수 없다는 문제점이 있다. 예를 들어, 1/3은 0.3333...으로 무한 반복된다. 
- 덧셈의 경우, 이진수에서는 1 + 1이 10으로 표현되며, 이는 **carry**가 발생함을 의미한다. 
- 기본적인 이 진수 덧셈규칙은 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1이다. 
- 예시로 주어진 이 진수 덧셈10111010 + 00011011은 결과가 01010101로 나온다. 
- 정수 25의 이진수 표현은 11001로 나타내며, 변환 과정은 25를 2로 반복해서 나눈 것이다. 




'학교 공부 > 컴퓨터공학론' 카테고리의 다른 글

6. CPU와 저장된 (Stored) 프로그램  (0) 2025.03.31
5. 압축 및 통신 에러 교정  (0) 2025.03.31
4. 정수 및 실수표현  (0) 2025.03.31
2. 비트의 저장 기억장치  (0) 2025.03.31
1. 서론  (0) 2025.03.31