1의 보수 2의 보수

Download Report

Transcript 1의 보수 2의 보수

CHAPTER 02. 정보의 표현
정보 체계_컴퓨터 내부의 정보 표현과 정보 처리
IT CookBook, 컴퓨터 사이언스 :
기본 컴퓨터 이론부터 최신 정보통신 기술까지
고대 수 사용
바빌로니아 숫자
로마 숫자
마야족 숫자
Page  2
학습목표
• 컴퓨터에서 사용하는 수의 체계와 종류를 공부한다.
• 진수의 변환 방법을 공부한다.
• 컴퓨터의 정보 표현 방법을 공부한다.
• 문자, 정수, 실수의 표현 방법을 공부한다.
Page  3
차례
1. 수의 체계
2. 진법 변환
3. 정보의 표현
4. 문자 표현
5. 정수 표현
진수의 종류
2진수,8진수,16진수→10진수
아스키 코드
보수
자릿값
10진수→2진수,8진수,16진수
2진화 10진코드
고정 소수점 표현
확장2진화 10진코
드
유니코드
덧셈
뺄셈
곱셈
나눗셈
Page  4
6. 실수 표현
1. 수의 체계
• 진수의 종류
1
• 자릿값
2
Page  5
1.1 진수의 종류
• 진법 : 임의의 수를 숫자로 표현하는 방법
• 디지털 컴퓨터는 두 개의 전기 신호(0 또는 1)를 이용해 정보를 표현
2진수 표현
Page  6
1.1 진수의 종류
Page  7
1.2 자릿값
진법에 따라 각 숫자는 별도의 자릿값을 가지며, 해당 진수에 제곱수를
적용하여 자릿값을 계산
Page  8
1.2 자릿값
• 10진수 5234의 자릿값
5234(10) = 5×103 + 2×102 + 3×101 + 4×100
• 2진수 101.1, 8진수 146, 16진수 5C3의 자릿값
101.1(2) : 1의 자릿값 = 22, 0의 자릿값 = 21, 1의 자릿값 = 20, 1의 자릿값 = 2-1
146(8) : 1의 자릿값 = 82, 4의 자릿값 = 81, 6의 자릿값 = 80
5C3(16) : 5의 자릿값 = 162, C의 자릿값 = 161, 3의 자릿값 = 160
Page  9
2. 진법 변환
주어진 수를 다른 진법으로 변환하는 것
Page  10
2. 진법 변환
• 2진수, 8진수, 16진수 → 10진수
1
• 10진수 → 2진수, 8진수, 16진수
2
Page  11
2.1 2진수, 8진수, 16진수 → 10진수
• 각 자리의 숫자에 자릿값을 곱한 후 모두 더한다.
1011(2) = 1×23 + 0×22 + 1×21 + 1×20 = 11(10)
0.1(2) = 1×2-1 = 1×1/2 = 0.5(10)
135(8) = 1×82 + 3×81 + 5×80 = 64 + 24 + 5 = 93(10)
20C(16) = 2×162 + 0×161 + 12(C)×160 = 512 + 0 + 12 = 524(10)
Page  12
2.2 10진수 → 2진수, 8진수, 16진수
 정수 부분의 변환
1. 10진수의 소수 부분에 2진수의 밑수 2를 곱한다.
2. 곱셈 결과로 소수 부분이 0이 될 때까지 밑수 2를 계속 곱한다.
3. 각 단계에서 발생하는 정수 부분(자리올림)을 순서대로 나열한다.
Page  13
2.2 10진수 → 2진수, 8진수, 16진수
 소수 부분의 변환
1. 10진수의 소수 부분에 2진수의 밑수 2를 곱한다.
2. 곱셈 결과로 소수 부분이 0이 될 때까지 밑수 2를 계속 곱한다.
3. 각 단계에서 발생하는 정수 부분(자리올림)을 순서대로 나열한다.
Page  14
 check
• 2진수 11001010을 10진수로 변환하시오.
• 8진수 135.24를 10진수로 변환하시오.
• 10진수 0.125를 2진수로 변환하시오.
• 진법 변환에 대한 설명으로 틀린 것은?
(가) 다른 진수를 10진수로 변환하려면 각 자리의 숫자에 자릿값을 곱한 후 모두 더한다.
(나) 10진수를 다른 진수로 변환하려면 정수 부분과 소수 부분을 별도로 변환한 후 조합한
다.
(다) 10진수 13을 2진수로 변환하면 1101(2)이 된다.
(라) 10진수 0.25를 2진수로 변환하면 0.001(2)이 된다.
Page  15
3. 정보의 표현
디지털 컴퓨터는 문자나 숫자 등의 정보를 0과 1의 2진 체계로 부호화한
디지털 데이터로 처리
정보의 표현
Page  16
3. 정보의 표현
• 비트
 Binary digit는 컴퓨터에서 정보를 나타내는 최소 단위
 2진수 0 또는 1을 의미
 N비트로 표현할 수 있는 정보는 2N개
• 바이트
 문자를 나타내는 최소 단위로 영문자나 숫자
 특수문자는 1바이트로 표현
 한글이나 한자는 2바이트로 표현
Page  17
3. 정보의 표현
• 워드
 명령어나 연산을 처리하는 기본 단위
 기억장치에 한 번 접근하여 얻을 수 있는 데이터의 양
Page  18
 check
• 컴퓨터의 기억 용량 크기를 나타내는 대표적인 단위를 나열하고
설명하시오.
Page  19
4. 문자 표현
1
2
3
4
Page  20
• 아스키 코드
• 2진화 10진 코드
• 확장2진화 10진 코드
• 유니코드
4.1 아스키 코드
• 미국표준협회(ANSI)가 제정한 데이터처리 및 통신시스템 상호 간의 정보
교환용 표준 코드
• 표현할 수 있는 문자는 128(27)개
Page  21
4.1 아스키 코드
• 확장 ASCII 코드
 128개의 문자로는 다양한 데이터를 표현하기 어렵기 때문에 ASCII 코드의 존 비트를 4비트로 확장
Page  22
4.2 2진화 10진 코드
• 문자 하나를 표현하기 위해 6비트를 사용, 64(26)개의 문자를 표현
• 디지트 비트는 0~9까지의 수를 표현하는 가중치 코드, 8421 코드라고도 함
• 2진수 네 자리가 10진수 한 자리에 대응되기 때문에 10진수로의 변환이 쉬움
Page  23
4.3 확장 2진화 10진 코드
• IBM사가 문자 코드에 대한 필요성으로 제정
• IBM의 메인프레임 컴퓨터에서 사용
Page  24
4.3 확장 2진화 10진 코드
Page  25
4.4 유니코드
• 전 세계의 언어를 일관된 방법으로 표현하고 다룰 수 있는 국제적인 문자
코드 규약
• 문자 하나를 16비트로 표현, 65,536(216)개의 문자와 기호를 나타냄
• 인코딩 방식은 UTF-8, UTF-16, UTF-32
• UTF 뒤의 숫자는 문자 인코딩에 사용되는 비트 수
• 언어별 유니코드 차트 자료 : http://www.unicode.org/charts
Page  26
4.4 유니코드
Page  27
4.4 유니코드
Page  28
 check
• 데이터 전송 시 오류 발생 여부를 검사하기 위해 사용되는 것은?
(가) 패리티 비트
(나) 부호 비트
(다) 존 비트
(라) 디지트 비트
• 6비트를 사용해 문자 하나를 표현하며 8421 코드라고도 하는 코드는?
(가) ASCII 코드
(나) BCD 코드
(다) EBCDIC 코드
(라) 유니코드
Page  29
5. 정수 표현
1
2
3
4
5
6
Page  30
• 보수
• 고정 소수점 표현
• 덧셈
• 뺄셈
• 곱셈
• 나눗셈
5.1 보수
• 진법의 밑수에서 해당되는 수를 뺀 나머지
• 컴퓨터 내부에서는 사칙연산을 수행할 때 덧셈을 담당하는 가산기를 이용
• 뺄셈은 덧셈 형식으로 변환
• A–B는 –B를 구한 후 A+(-B)를 수행
• 음의 정수를 표현하기 위해 고안한 개념이 보수
Page  31
5.1 보수
 1의 보수
2진수 1010의 1의 보수는 0101(2)
 2의 보수
2진수 1010의 2의 보수는 0110(2)
Page  32
5.2 고정 소수점 표현
• 소수점이 고정된 위치에 있다는 뜻, 정수 표현에 사용
• 음의 정수는 부호화 절댓값 방식, 1의 보수방식, 2의 보수 방식을 사용하여 표현
 부호화 절댓값 : 최상위 비트(맨 왼쪽 비트)는 부호를, 나머지 비트는 2진수의 절댓값을
나타냄
 1의 보수 : 부호 비트 1과 2진수의 절댓값에 대한 1의 보수를 사용
 2의 보수 : 1의 보수에 1을 더해 음수를 나타냄
Page  33
5.2 고정 소수점 표현
• N비트로 표현할 수 있는 수의 범위
 부호화 절댓값, 1의 보수 : –(2N-1–1) ~ (2N-1–1)
 2의 보수 : –2N-1 ~ (2N-1–1)
 대부분의 컴퓨터에서는 2의 보수 방식을 사용
Page  34
5.3 덧셈
• 두 수의 합이 2가 되면 자리올림이 발생
Page  35
5.4 뺄셈
 1의 보수 뺄셈
Page  36
5.4 뺄셈
 2의 보수 뺄셈
Page  37
5.4 곱셈
• 피승수에 승수의 각 수를 곱하여 부분 곱을 구함
• 각 부분 곱은 직전 단계의 부분 곱보다 왼쪽으로 한 비트만큼 시프트한 후 더함
Page  38
5.4 나눗셈
• 피제수에서 제수를 뺄 수 없을 때까지 뺄셈을 계속해서 횟수는 몫이 되고
남은 것은 나머지가 됨
Page  39
 check
• 2진수 뺄셈 1011101(2) - 1101100 (2) 을 1의 보수와 2의 보수를 사용하여 계산하시오.
• (
)은(는) 진법의 밑수에서 해당되는 수를 뺀 나머지를 의미하며, 음의 정수를
표현하기 위해 사용된다.
• 고정 소수점 방식에서 음의 정수를 표현하기 위해 사용되는 방식이 아닌 것은?
(가) 부호화 절댓값 방식
(나) 1의 보수 방식
(다) 2의 보수 방식
(라) 부동 소수점 방식
Page  40
6. 실수 표현
• 고정 소수점 방식
 소수점이 항상 고정된 위치에 있다는 의미로, 정수 표현에 주로 사용
• 부동 소수점 방식
 소수점의 위치가 변하기 때문에 실수 표현에 주로 사용
 고정 소수점 방식보다 넓은 범위의 수를 표현
 부호 비트, 지수 부분, 가수 부분으로 구성
 지수 부분은 소수점의 위치, 가수 부분은 유효 자릿수
 m ⅹ re ( m : 가수 r : 밑수, e : 지수 )
Page  41
6. 실수 표현
• 정규화 : 가수 부분이 0과 1사이가 되도록 조정하는 것
10110.11011를 정규화하면 0.1011011011  25
Page  42
 check
• 부동 소수점 방식에 대한 설명으로 틀린 것은?
(가) 부호 비트, 지수 부분, 가수 부분으로 구성되어 있다.
(나) 소수점의 위치가 변하지 않는다.
(다) 지수 부분은 소수점의 위치를 나타낸다.
(라) 가수 부분은 유효 자릿수를 나타낸다.
• 부동 소수점 방식에서 최소 자릿수로 최대 정밀도를 제공하기 위해 가수 부분을 0과
1사이가 되도록 조정하는 것은?
(가) 유효 자릿수
(나) 가수
(다) 지수
(라) 정규화
Page  43
핵심정리
1. 2진 체계
11. 아스키 코드
2. 진법 표현
12. 2진화 10진 코드(BCD)
3. 자릿값
13. 확장 2진화 10진 코드(EBCDIC)
4. 진법 변환
14. 유니코드(Unicode)
5. 다른 진수를 10진수로 변환
15. 보수(complement)
6. 10진수를 다른 진수로 변환
16. 고정 소수점 방식
7. 비트(bit)
17. 고정 소수점 방식에서 음의 정수 표현
8. 바이트(byte)
18. 부동 소수점 방식
9. 워드(word)
19. 정규화(normalization)
10. 코드(부호)
Page  44
IT CookBook, 컴퓨터 사이언스 :
Copyright© 1993-2012 Hanbit Media, Inc.
All rights reserved.
기본 컴퓨터 이론부터 최신 정보통신 기술까지