기본 콘텐츠로 건너뛰기

방송대 방통대 컴퓨터과학개론 2강 - 컴퓨터와 데이터 (2) - 요약 노트 시험족보 예상문제 - 올에이클래스

컴퓨터과학개론 2강 - 컴퓨터와 데이터 (2)

컴퓨터과학개론 2강 - 컴퓨터와 데이터 (2)

데이터가 정보로 변환되는 과정과 컴퓨터 내부의 비트 패턴 표현을 이해하고, 2진법·8진법·10진법·16진법 사이의 변환 원리를 학습한다. 이어서 정수와 실수의 이진 표현, 2의 보수와 부동소수점, ASCII·유니코드 등의 문자 코드 체계를 정리한다.

1. 데이터와 정보, 표현 단위

데이터(data)는 현실 세계를 관찰하거나 측정하여 얻은 값이나 사실이다. 데이터가 처리기를 거치면 특정 상황에서 적절한 의사결정을 내리는 데 활용할 수 있는 정보(information)가 된다. 이를 식으로 나타내면 I = P(D)이며, 데이터 D에 처리 P를 적용하여 정보 I를 얻는다는 뜻이다.

현실 세계의 관찰·측정 → 데이터 D → 처리기 P → 정보 I → 의사결정에 활용

컴퓨터는 문자, 정수, 실수, 이미지, 비디오, 오디오처럼 서로 다른 유형의 데이터를 모두 비트 패턴으로 표현한다. 다만 메모리에 저장된 비트 패턴을 올바르게 해석하고 처리하려면 해당 데이터 유형에 맞는 규칙이 필요하다. 같은 비트들도 어떤 규칙으로 해석하느냐에 따라 숫자, 문자, 색상 등 서로 다른 의미가 될 수 있다.

단위의미
비트(bit)binary digit의 줄임말로 0 또는 1을 나타내는 최소 표현 단위
바이트(byte)8개의 비트를 묶은 단위
KB210바이트, 약 103바이트
MB220바이트, 약 106바이트
GB230바이트, 약 109바이트
TB·PB·EB·ZB·YB각각 240·250·260·270·280바이트에 대응
워드(word)컴퓨터 연산의 기본 단위가 되는 정보의 양으로 보통 32비트 또는 64비트

컴퓨터 내부의 모든 데이터는 비트 패턴으로 통일해 표현하지만, 그 비트 패턴의 의미를 결정하는 해석 규칙은 데이터 유형마다 다르다.

2. 진법과 자릿값

진법은 수를 세는 방법 또는 단위이다. r진법은 0부터 r-1까지의 숫자를 사용하며, 각 자리의 가중치인 자릿값은 위치에 따라 rx가 된다. 여기서 x는 소수점을 기준으로 한 자리 위치를 나타내는 정수이다.

진법사용 숫자표기 예
2진법0, 110102, 1001b
8진법0~77208, 257o
10진법0~99910, 123d
16진법0~9, A~F2CF16, FF30h

예를 들어 10진수 123은 1×102 + 2×101 + 3×100이다. 소수점 왼쪽 자리는 0 이상의 지수를, 오른쪽 자리는 음의 지수를 사용한다.

2진수 101.10012는 다음과 같이 10진수로 변환한다.

1×22 + 0×21 + 1×20 + 1×2-1 + 0×2-2 + 0×2-3 + 1×2-4 = 5.5625

같은 원리로 34568 = 3×83 + 4×82 + 5×8 + 6 = 183810이고, AE716 = 10×162 + 14×16 + 7 = 279110이다.

3. 10진수와 r진수 사이의 변환

10진수의 정수와 소수를 2진수·8진수·16진수로 바꿀 때는 정수 부분과 소수 부분을 분리하여 서로 다른 방법으로 처리한 후 결과를 연결한다.

정수 부분: 나눗셈과 나머지

정수 부분은 변환할 진법의 기수 r로 반복해서 나눈다. 매 단계의 나머지를 기록하고 몫이 0이 되면 중단한 뒤, 나머지를 마지막 것부터 역순으로 나열한다.

변환결과
6010 → 2진수1111002
6010 → 8진수748
6010 → 16진수3C16

소수 부분: 곱셈과 정수 부분

소수 부분은 기수 r을 반복해서 곱한다. 각 곱의 정수 부분을 앞에서부터 차례로 기록하고, 새로 생긴 소수 부분이 0이 되면 멈춘다. 0.687510의 변환 결과는 다음과 같다.

0.687510 = 0.10112 = 0.548 = 0.B16

정수와 소수를 연결하면 60.687510 = 111100.10112이다. 모든 10진 소수가 다른 진법에서 유한한 자리로 끝나는 것은 아니다. 예를 들어 0.6을 2진수로 바꾸면 곱셈 과정의 소수 부분이 반복되어 0.1001…2처럼 무한히 이어진다.

진수 변환에서는 정수 부분의 나머지는 역순으로 읽고, 소수 부분의 정수값은 계산된 순서대로 읽는 차이를 구분해야 한다.

4. 2진수·8진수·16진수의 빠른 변환

2진수, 8진수, 16진수는 기수 사이에 거듭제곱 관계가 있어 비트를 묶어 직접 변환할 수 있다. 8은 23이므로 8진수 한 자리는 2진수 3비트에 대응하고, 16은 24이므로 16진수 한 자리는 2진수 4비트에 대응한다.

변환 방향방법
2진수 → 8진수소수점을 기준으로 양쪽을 각각 3비트씩 묶어 8진수 한 자리로 바꾼다.
8진수 → 2진수각 8진 숫자를 3비트로 펼친다.
2진수 → 16진수소수점을 기준으로 양쪽을 각각 4비트씩 묶어 16진수 한 자리로 바꾼다.
16진수 → 2진수각 16진 숫자를 4비트로 펼친다.

따라서 8진수와 16진수를 서로 바꿀 때는 먼저 2진수로 바꾸고 적절한 비트 수로 다시 묶으면 된다. 이 방법은 각 수를 일일이 10진수로 변환하는 것보다 간단하다.

8진수 한 자리는 3비트, 16진수 한 자리는 4비트라는 대응 관계가 핵심이다.

5. 정수의 이진 표현

부호 없는 정수는 모든 비트를 수의 크기 표현에 사용한다. n비트로 표현할 수 있는 범위는 0부터 2n-1까지이다. 범위를 넘어서는 수를 저장하려 하면 오버플로(overflow)가 발생한다. 예를 들어 275는 8비트 부호 없는 정수의 최댓값 255를 넘는다.

부호 있는 정수에서는 최상위 비트를 부호 비트로 사용하며 보통 0은 양수, 1은 음수를 뜻한다. 강의는 음수를 표현하는 세 가지 방식을 비교한다.

표현 방식음수 표현 방법n비트 표현 범위0의 형태
부호화-크기최상위 비트는 부호, 나머지는 절댓값-(2n-1-1) ~ +(2n-1-1)+0과 -0
1의 보수양수의 모든 비트를 반전-(2n-1-1) ~ +(2n-1-1)+0과 -0
2의 보수1의 보수에 1을 더함-2n-1 ~ +(2n-1-1)0 하나

양수는 세 방식에서 같은 비트 패턴을 사용하지만 음수는 방식에 따라 다르다. 8비트에서 +124는 01111100이다. -124는 부호화-크기에서 11111100, 1의 보수에서 10000011, 2의 보수에서 10000100으로 표현된다.

6. 2의 보수 방식과 연산

2의 보수는 음수 표현뿐 아니라 뺄셈을 덧셈으로 처리하는 데 유용하다. A-B를 계산할 때 B의 2의 보수를 구해 A+(-B)를 수행하고, 정해진 비트 수를 넘어 발생한 최상위 자리올림은 버린다.

예를 들어 8비트에서 24-17은 다음과 같이 계산할 수 있다.

00011000 (+24) + 11101111 (-17의 2의 보수) = 1 00000111 → 00000111 (+7)

최상위 비트가 1인 8비트 2의 보수 수를 해석하려면 음수라는 사실을 확인한 뒤 해당 패턴의 2의 보수를 구해 크기를 알아낸다. 10001101에서 1을 뺀 10001100의 비트를 반전하면 01110011, 즉 115이므로 원래 수는 -115이다.

2의 보수 방식에서는 최상위 비트가 1이라는 사실만으로 크기를 직접 읽으면 안 된다. 전체 비트 패턴에 2의 보수 절차를 적용해 절댓값을 구한다.

7. 실수와 부동소수점 표현

매우 큰 수나 매우 작은 실수는 과학적 표기법을 활용한 부동소수점(floating-point) 방식으로 표현한다. 일반적인 값은 (-1)S × M × BE로 나타낼 수 있다.

요소의미
부호 S0이면 양수, 1이면 음수
가수 M유효 숫자를 담는 부분
기저 B지수의 밑이며 컴퓨터에서는 2를 사용
지수 E소수점의 위치와 값의 규모를 나타내는 부분

컴퓨터의 부동소수점은 (-1)S × M × 2E 형태이며 비트 필드는 부호, 지수, 가수로 나뉜다. 지수에는 음수도 필요하지만 별도의 부호 비트를 두는 대신 초과표기법(excess notation)을 사용한다.

지수 필드가 m비트일 때 매직넘버로 2m-1 또는 2m-1-1을 사용할 수 있다. 8비트 지수에서 초과-127 방식은 실제 지수에 127을 더해 저장하고, 읽을 때 저장값에서 127을 뺀다. 예를 들어 실제 지수 -32는 -32+127=95, 즉 010111112로 저장된다.

8. 정규화와 IEEE 부동소수점

가수를 일관되게 표현하려면 정규화(normalization)가 필요하다. 이진수에서는 소수점 왼쪽에 1 하나만 남도록 소수점을 이동하고, 이동한 칸 수를 지수에 반영한다. 예를 들어 111100.101121.111001011 × 25로 정규화된다.

60.6875를 IEEE 단정도 형식으로 표현하는 과정은 다음과 같다.

  1. 60.687510 = 111100.10112로 변환한다.
  2. 1.111001011 × 25로 정규화한다.
  3. 양수이므로 부호 비트는 0이다.
  4. 초과-127 방식으로 지수 5+127=132=100001002를 저장한다.
  5. 선행 1 뒤의 가수 111001011을 가수 필드에 넣고 남는 자리를 0으로 채운다.
IEEE 형식전체 크기부호지수가수지수 바이어스
단정도(single precision)4바이트1비트8비트23비트초과-127
배정도(double precision)8바이트1비트11비트52비트초과-1023

단정도와 배정도는 모두 부호·지수·가수 구조를 사용하지만 배정도는 더 많은 지수와 가수 비트를 사용하여 더 넓은 범위와 높은 정밀도를 제공한다.

9. 문자 표현과 코드 체계

키보드에서 입력한 문자도 컴퓨터 내부에서는 2진수로 표현되어 처리된다. 문자마다 고유한 숫자 코드를 할당하는 약속된 문자 체계가 필요하며 대표적으로 ASCII와 유니코드가 있다.

ASCII

ASCII는 American Standard Code for Information Interchange의 약자이며 미국표준협회(ANSI)가 제정했다. 기본 ASCII는 7비트로 128개의 서로 다른 문자를 표현한다. 확장 ASCII에서는 1비트를 더해 8비트 코드로 사용하며, 추가 비트는 패리티 검사에 활용될 수 있다.

짝수 패리티는 전체 1의 개수를 짝수로, 홀수 패리티는 홀수로 맞춘다. ASCII에서 숫자 '0'~'9'는 48~57, 대문자 'A'~'Z'는 65~90, 소문자 'a'~'z'는 97~122의 코드값을 갖는다.

유니코드

유니코드는 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 표준이다. 1990년 애플·IBM·마이크로소프트 등 컨소시엄이 첫 버전을 발표했고, 1995년 국제 표준 ISO/IEC 10646으로 제정되었다. 사용 언어와 플랫폼, 프로그램에 관계없이 문자를 다루는 것을 목표로 하며 강의에서는 16비트 코드 체계로 65,536개의 서로 다른 문자를 표현한다고 설명한다.

기타 코드

코드 체계특징
EBCDICIBM이 개발한 8비트 코드로 실제 사용 가능한 문자 코드는 128개이며 IBM 메인프레임에서 사용
BCD10진수 한 자리를 4비트로 표현하는 방식으로 8421 코드라고도 함

예를 들어 BCD에서 295는 각 자릿수를 따로 바꾸어 0010 1001 0101로 표현한다. 이는 295 전체를 일반적인 2진수 하나로 바꾸는 방식과 다르다.

핵심 개념 정리

  • 데이터는 관찰·측정으로 얻은 값이며, 처리된 데이터가 의사결정에 활용되는 정보가 된다.
  • 컴퓨터는 모든 데이터 유형을 0과 1의 비트 패턴으로 표현한다.
  • r진법의 각 자릿값은 위치에 따라 r의 거듭제곱으로 결정된다.
  • 10진 정수는 반복 나눗셈의 나머지를 역순으로, 소수는 반복 곱셈의 정수 부분을 순서대로 읽어 변환한다.
  • 8진수 한 자리는 3비트, 16진수 한 자리는 4비트에 대응한다.
  • 2의 보수는 1의 보수에 1을 더해 음수를 표현하며 뺄셈을 덧셈으로 처리하기에 적합하다.
  • 부동소수점은 부호·지수·가수로 구성되며 지수는 초과표기법, 가수는 정규화를 사용한다.
  • IEEE 단정도는 1·8·23비트, 배정도는 1·11·52비트의 부호·지수·가수 필드를 사용한다.
  • ASCII는 기본 7비트 문자 코드이며 유니코드는 세계 문자를 일관되게 다루기 위한 표준이다.
  • BCD는 10진수의 각 자릿수를 4비트씩 별도로 표현한다.

최종 정리: 컴퓨터는 숫자·문자·실수 등 모든 데이터를 비트 패턴으로 저장한다. 따라서 진법, 정수의 부호 표현, 부동소수점, 문자 코드처럼 비트에 의미를 부여하는 규칙을 이해해야 컴퓨터의 데이터 처리 원리를 정확히 파악할 수 있다.

예상문제 20선

1. 데이터와 정보의 관계를 나타낸 식으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
데이터 D에 처리 P를 적용해 의사결정에 도움이 되는 정보 I를 얻는 관계이다.

2. 1바이트는 몇 비트인가?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
바이트는 8개의 비트를 묶은 데이터 표현 단위이다.

3. 컴퓨터 내부 데이터 표현에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
문자·수·이미지 등은 모두 비트로 저장되지만 데이터 유형에 맞는 해석과 처리가 필요하다.

4. 16진법에서 사용하는 숫자 집합은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
16진법은 0~9의 열 숫자와 A~F의 여섯 문자를 사용해 16개의 값을 나타낸다.

5. 101.10012의 10진수 값은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
각 비트에 2의 자릿값을 곱해 더하면 4+1+1/2+1/16=5.5625이다.

6. 10진 정수를 r진수로 변환하는 방법은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
정수 부분은 기수로 계속 나누고 각 나머지를 마지막 것부터 역순으로 나열한다.

7. 6010을 16진수로 바르게 나타낸 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
60을 16으로 나누면 몫 3과 나머지 12가 나오며 12는 C이므로 3C이다.

8. 10진 소수 부분을 r진수로 변환하는 방법은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
소수 부분은 기수를 곱해 생기는 정수 부분을 앞에서부터 기록한다.

9. 8진수 한 자리에 대응하는 비트 수는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
8=2³이므로 8진수 한 자리는 정확히 3개의 이진 비트와 대응한다.

10. n비트 부호 없는 정수의 표현 범위는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
부호 없는 정수는 n개 비트를 모두 크기에 사용하므로 총 2ⁿ개의 값을 표현한다.

11. 양수의 2의 보수를 구하는 방법은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
2의 보수는 비트를 0↔1로 바꾼 1의 보수에 1을 더해 구한다.

12. 8비트 2의 보수 표현의 범위는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
n비트 2의 보수 범위는 -2ⁿ⁻¹부터 2ⁿ⁻¹-1까지이므로 8비트는 -128~127이다.

13. 8비트 2의 보수 10001101의 10진수 값은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
최상위 비트가 1이므로 음수이며, 2의 보수를 다시 구하면 크기 115를 얻는다.

14. 부동소수점의 기본 구성요소는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
부동소수점은 값의 부호, 규모를 나타내는 지수, 유효 숫자를 담는 가수로 구성된다.

15. 초과-127 방식에서 실제 지수 5를 저장한 값은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
초과-127은 실제 지수에 127을 더하므로 5+127=132를 저장한다.

16. IEEE 단정도 부동소수점의 비트 구성은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
4바이트 단정도는 부호 1비트, 지수 8비트, 가수 23비트로 구성된다.

17. 기본 ASCII가 표현하는 코드 수와 비트 수는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
기본 ASCII는 7비트를 사용하므로 2⁷인 128개의 서로 다른 코드를 표현한다.

18. 유니코드의 목적은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
유니코드는 다양한 언어의 문자를 플랫폼과 프로그램에 관계없이 일관되게 다루기 위한 표준이다.

19. BCD 방식의 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
BCD는 8421 가중치를 이용해 0~9의 각 10진 자릿수를 4비트 코드로 표현한다.

20. BCD로 295를 바르게 표현한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
각 자릿수 2, 9, 5를 각각 0010, 1001, 0101로 바꾸어 연결한다.

댓글