Download presentation
Presentation is loading. Please wait.
1
제03장 정보의 표현
2
단원 목표 컴퓨터 내부의 자료 표현 방법과 저장 용량 단위를 알아본다.
2진수, 8진수, 16진수를 이해하고 이들 간의 변환을 알아본다. 2진수의 음수 표현 방법인 2의 보수에 대하여 알아본다. 컴퓨터에서 이용하는 정보의 종류인 정수, 부동소수, 문자, 논리를 이해한다. 컴퓨터에서 정수의 연산 방법, 부동 소수의 연산 방법을 알아본다. 컴퓨터에서 논리연산 방법과 논리회로설계 방법을 알아본다
3
01. 컴퓨터의 자료표현
4
사람에게 친숙한 10진수 십이라는 것을 기수(base) 수에서 하나의 자릿수(digits)에 사용하는 숫자가
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 까지 열 개이므로 10진수 십이라는 것을 기수(base) 10진수에서 가장 오른쪽은 100인 단 단위 그 왼쪽 옆은 101인 십 단위, 다시 그 왼쪽 옆은 102인 백 단위의 자릿수이며, 어느 자릿수는 바로 근접한 오른쪽 자릿수의 10배로 커진 자릿수
5
컴퓨터 내부 자료 표현 두 가지 정보 표현 컴퓨터 내부에서 2진수 체계를 사용
컴퓨터 내부에는 전기가 흐르거나(On) 흐르지 않는(Off) 두 가지 전기 신호만을 표현 가능 두 가지 정보 표현 컴퓨터 내부에서는 전기가 흐르거나(On) 흐르지 않는(Off) 두 가지 전기 신호만을 표현할 수 있는 트랜지스터를 이용하여 자료를 처리하고 저장 2진수 체계를 사용 전기가 흐를 경우 ‘참’을 의미하는 ‘1’ , 흐르지 않을 경우 ‘거짓’의 ‘0’ 으로 표현 컴퓨터 내부에서 2진수 체계를 사용 숫자는 0과 1을 표현 컴퓨터는 논리의 조합이 간단하고 내부에 사용되는 소자의 특성상 이진법을 사용하는 것이 가장 합리적이고 효율적인 방식
6
2진수의 이해 10진수의 기수(base, radix)가 10
2진수(binary number)는 11010, 1010, 110과 같이 사용할 수 있는 숫자가 0과 1, 2 개이므로 2진수라 함 10진수의 기수(base, radix)가 10 2진수의 기수는 2
7
비트와 바이트 두 가지 정보 표현 비트(Bit) 바이트(byte)
비트(bit)는 BInary digiT의 합성어로 컴퓨터 메모리의 저장 단위 또는 정보 처리 단위 중에서 가장 작은 단위를 말함 두 가지 정보 표현 전기의 흐름 상태인 온(on)과 오프(off)를 표 현하는 단위가 비트이며 1과 0인 2진수로 표현이 가능 비트(Bit) 컴퓨터의 정보 처리 단위 중에서 가장 작은 정보 단위 바이트(byte) 비트가 연속적으로 8개 모인 정보 단위
8
저장 용량 테라 바이트(Tera Byte)는 240, 페타 바이트(Peta Byte)는 250, 엑사 바이트(Exa Byte)는 260 바이트가 정보의 용량 단위 킬로, 메가, 기가, 테라, 페라 엑사, 제타, 요타
9
02. 진수와 수의 표현
10
진수의 종류 10진수 N진수 10진수의 각 자리는 오른쪽부터 1(100)자리, 10(101)자리, 100(102)자리 순으로
그 자리에 따라 의미하는 수가 정해짐 10진수 우리 인간이 일상 생활에서 이용하는 가장 친숙한 진수 N진수 0에서 N-1까지의 정수를 이용 오른쪽부터 n번째 자리의 크기는 Nn-1
11
2진수 2진수 2진수는 0과 1의 두 가지 표현으로 각 자릿수를 표시하는 진수 0과 1의 두 가지 표현으로 각 자릿수를 표시
라이프니츠(Gottfried Wilhelm von Leibniz 1646~1716) 독일의 철학자, 법학자이면서 수학자 미적분과 함께 현대 대표 문명 기기인 컴퓨터가 탄생하는 데 결정적인 ‘0과 1’의 이분법을 개발
12
8진수와 16진수 8진수 16진수 2진수의 표현은 쉽게 8진수와 16진수로 변환이 가능한 진수
0부터 7까지의 8가지의 수를 이용하여 숫자를 표시 16진수 총 16개의 숫자나 문자를 사용하여 표시 0에서 9까지 그리고 A에서 F까지 소문자 a에서 f까지도 가능
13
10진수를 2진수로 변환 26 = 110102 전통적인 방법, 2로 나눈 나머지를 역순으로 나열
단계 1 : 주어진 값을 2로 나누고 그 나머지를 기록한다. 단계 2 : 몫이 0이 아니면 계속해서 새로운 몫을 2로 나누고 그 나머지는 기록한다. 단계 3 : 몫이 0이면 원래 값의 2진 표현은 나머지가 기록되는 순서대로 왼쪽에서 오른쪽으로 나열한다.
14
10진수의 소수를 2진수로 변환 0.625 = 0.1012 2를 곱해 나온 단 단위를 소수부분이 0이 될 때까지 나열
0.5 = ½ = 0.12 0.25 = ¼ = 0.012 0.125 = ⅛ = = 1/16 = 0.75 = 0.112 0.375 = = 단계 1 : 10진수에 2를 곱하여 나온 결과에서 정수 부분으로의 자리 올림수와 소수점 아래 부분을 따로 보관한다. 단계 2 : 단계 1에서 소수 부분이 0이면 단계 3으로 넘어가고, 아니면 소수점 아래 부분을 다시 새로운 10진수로 하여 단계 1을 반복한다. 단계 3 : 구해진 정수 부분으로의 자리 올림수를 순서대로 나열한다.
15
2진수, 8진수, 16진수간 상호관계 변환이 간편 소수점을 기준으로 정수 부분은 왼쪽으로, 소수 부분은 오른쪽으로
수식 8 = 23, 16 = 24 이 만족하므로 2진수로 표현된 수를 각각 8진수, 16진수로 표현하는데 쉽게 변환이 가능 변환이 간편 소수점을 기준으로 정수 부분은 왼쪽으로, 소수 부분은 오른쪽으로 2진수 → 16진수 2진수의 4자리씩을 16진수로 변환 2진수 → 8진수 마찬가지 방법으로 2 진수의 3자리씩을 8진수로 변환
16
2진수의 음수 표현: 1의 보수 1의 보수(1’s complement)
2진수의 음수를 표현하는 가장 일반적인 방법은 2의 보수 표기 방법 1의 보수(1’s complement) 주어진 이진수의 비트를 0은 1로, 1은 0으로 각각 변환하는 방법 이진수 0100의 1의 보수는 1011 0이 +0과 -0으로 각각 다르다는 단점 +0은 0000이고 -0은 1111
17
2진수의 음수 표현: 2의 보수 2의 보수 변환 방법 음수의 2진수 표기인 2의 보수를 구하는 방법 3가지 방법 1 방법 2
-4를 4비트로 2의 보수로 표현하자면 표현되는 비트 의 수가 4개이므로 24 – 4 = 12 = 11002 방법 2 n비트에서 –a의 2의 보수 계산 방법 : 2n - a 단계 1 : 음수의 절대값인 양의 정수의 이진수를 n 비트에서 구한다. 단계 2 : 단계 1에서 얻은 이진수의 1의 보수를 n 비트에서 구한다 . 단계 3 : 단계 2에서 얻은 이진수에 1을 더한 n 비트 만을 취한다.
18
2진수의 음수 표현: 2의 보수 방법 3 양수의 n비트 2진수에서 가장 오른쪽의 0에서 처음으로 나오는 1까지 그대로 두고
나머지 왼쪽 비트를 모두 1의 보수로 바꾸는 방법 방법 3 가장 간편 -4를 4비트로 2의 보수로 표현하자면 가장 오른쪽의 0에서 처음으로 나오는 1까지인 100은 그대로 두고 나머지 비트인 0만을 1의 보수인 1로 바꾸면 바로 1100의 결과
19
4비트의 2진수의 표현 2의 보수는 1의 보수의 단점을 보완하고 4비트에서 -8에서 +7까지 표현이 가능 1의 보수 단점 1의 보수는 0이 두 가지로 표현되므로 -8을 표현 불가능 2의 보수 2의 보수는 1의 보수의 단점을 보완 4비트에서 -8에서 +7까지 표현이 가능
20
2진수의 표현: 최상위 비트 부호 비트(sign bit)
수의 비트 표현에서 가장 왼쪽의 비트를 최상위 비트(MSB: Most Significant Bit) 부호 비트(sign bit) 보수 표현에서는 이 최상위비트가 부호를 나타내므로 부호비트(sign bit)라고도 부름 2의 보수 모두 음수는 4비트의 가장 왼쪽 비트가 1
21
03. 컴퓨터의 정보 종류
22
부호가 있는 정수 표현 8비트의 메모리 n개의 비트로 정수의 양수와 음수를 모두 표현
컴퓨터는 정수의 양수와 음수를 표현하는데 주로 2진수와 2의 보수 방법을 이용 8비트의 메모리 28가지(256)의 정보를 표현 가능 n개의 비트로 정수의 양수와 음수를 모두 표현 수의 범위는 -(2n-1)에서 +(2n-1-1)까지 가능
23
부호가 없는 정수 표현 unsigned 정수 오버플로우 0과 양수만을 다루는 정수를 부호가 없는(unsigned) 정수
28가지(256)의 정보를 표현 가능 오버플로우 n개의 비트로는 표현의 한계가 있으므로 n비트의 메모리에 표현 범위를 초과하는 수의 값을 저장하는 경우
24
부동소수점 수와 정규화 부동소수점 수(floating point number) 정규화(normalization)
10진수의 실수 는 × 102으로도 표현이 가능 실수의 표현을 표준화하는 방법인 정규화(Normalization)는 실수의 소수점을 이동 소수점 왼쪽에 단 하나의 자릿수가 오도록 하고 소수점의 원래 위치는 진수의 지수로 표현하는 방법 정규화된 실수 표현을 부동소수(Floating Point Number) 부동 소수는 수의 소수점의 위치를 움직일 수 있게 한다는 의미
25
정규화에서 지수와 가수 부동소수 부동소수의 표현
26.625를 이진수로 표현하면 , 부동소수로 표현하면 부호, 지수와 가수로 구분하여 표시 부동소수 소수 부분과 지수 부분으로 구분할 수 있는데 이를 각각 가수(Mantissa)와 지수(Exponent) 가수 수의 정밀도(Precision) 지수 수의 크기(Magnitude) 표현 부동소수의 표현 부호부(Sign), 지수부(Exponent), 가수부(Mantissa)로 나누어 이진 표현으로 저장
26
부동소수의 저장 표현 2가지 방식 부호, 지수, 가수 전기전자기술자협회(IEEE)에서는 부동소수를 저장하는 표준을 제공
단정도 형식(single precision format): 32비트, 배정도 형식(double precision format): 64비트 부호, 지수, 가수 부호부: 양수이면 0, 음수이면 1이 저장 지수부: 단정도에서는 127 초과 이진수로, 배정도에서는 1023 초과 이진수로 지수를 저장 가수부: 부동소수의 가수를 왼쪽부터 저장하고, 오른쪽 나머지 비트는 모두 0으로 채움
27
지수를 표현하는 편향지수 127 편향지수(127 biased exponent) 1023 편향지수
단정도에서는 127 편향지수, 배정도에서는 1023 편향지수 사용 127 편향지수(127 biased exponent) 원래의 수에 127을 더하고, 그 수를 이진수로 표현한 수 1023 편향지수 원래의 수에 1023을 더한 수를 이진수로 표현한 수
28
부동소수점 수로의 변환 5.625를 2진수로 변환하면 101.101 10진수 5.625가 메모리에 저장된 단정도 형식 정규화
부호는 양수이며 지수는 2이고 가수는 01101 부호가 양수: 부호부는 0 지수부: 인 129의 이진 표현 가수부: 01101에 나머지 오른쪽 18개의 비트가 모두 0으로 채워진 이진 표현
29
부동소수의 저장 표현 부호: 양수이므로 0 지수: -3이므로 127 편향지수로 계산
10진수 를 2진수로 변환하면 이며, 이것을 정규화하면 1.01 × 2-3 부호: 양수이므로 0 지수: -3이므로 127 편향지수로 계산 = 124 = 가수: 01이후에 나머지 21개의 비트를 모두 0으로 채운
30
04. 문자와 논리 표현
31
문자와 코드표 영문자는 7개의 비트의 조합으로 표현 국제 표준인 문자 코드
컴퓨터에서 문자는 하나의 정해진 수로 표현, 예로 문자 C는 , O은 로 표현 영문자는 7개의 비트의 조합으로 표현 일반적으로 n비트를 사용하면 총 2n개의 서로 다른 문자 표현이 가능 한데, 각각의 조합에 일정한 문자를 할당하여 지정한 것을 문자 코드(code) 국제 표준인 문자 코드 아스키코드 유니코드
32
아스키코드 ASCII 미국 표준협회에서 국제적인 표준으로 정한 문자 코드 체계
American Standard Code for information Interchange 7비트를 사용하여 128개의 문자, 숫자, 특수문자 코드를 규정 아스키코드가 7비트를 이용하지만 실제로 한 문자는 8비트인 1바이트에 저장 한 문자에 시작은 0으로, 나머지는 코드 값으로 구성
33
유니코드 유니코드 세계의 문자를 모두 표현하기 위해 2바이트 즉, 16비트로 확장된 코드 체계가 유니코드
전세계 모든 언어를 하나의 코드 체계 안으로 통합하기 위하여 만들어진 코드 아스키의 8비트 체계에서 벗어나 전 세계의 문자를 모두 표현하기 위한 2바이트 인 16비트로 확장된 코드 체계
34
논리 표현 두 가지 정보를 논리 값 부울대수(Boolean Algebra)
하나의 비트 정보도 0과 1이므로 이를 각각 거짓과 참으로 표현 두 가지 정보를 논리 값 참(true)과 거짓(false) 부울대수(Boolean Algebra) 이진 논리 변수와 AND, OR, NOT의 논리 연산을 이용한 수학 논리 회로를 수학적으로 해석하기 위해 영국의 수학자 부울(George Bool)이 제창한 기호 논리학의 한 분야 컴퓨터가 정보를 처리하는 방식에 대하여 이론적인 배경을 제공
35
04. 컴퓨터의 연산
36
정수 연산 컴퓨터에서 정수의 덧셈과 뺄셈 연산 방법을 학습, 정수의 뺄셈 연산에서 2의 보수 표기를 이용 정수의 덧셈 정수의 연산에서 주의할 것은 정해진 비트를 넘어서는 올림은 무시 정수의 뺄셈 정수의 뺄셈에서는 2의 보수를 이용한 음수의 표현 방법을 이용 a – b의 연산은 a + (– b)로 변환하여 덧셈을 수행 4 – 4 4 + (-4)
37
논리 연산자 단항 연산자와 이항 연산자로 구분 논리 연산 NOT, AND, OR NOT AND, OR
38
논리 연산 법칙 논리 연산에서 자주 이용되는 연산의 법칙을 정리한 표
39
논리 함수 함수 y = f(x1, x2, x3, …) 다음 진리표의 예
논리함수는 논리합(OR), 논리곱(AND), 논리부정(NOT) 등 여러 가지 논리연산자를 사용 함수 y = f(x1, x2, x3, …) 입력변수인 xi가 모두 1 또는 0의 값만을 가지며 결과값인 y 역시 1 또는 0만을 갖는 함수를 논리함수(logical function) 논리함수를 간소화하기 위해서는 먼저 임의의 논리함수에 대한 진리표를 구함 다음 진리표의 예
40
논리회로 설계 논리연산자들은 게이트(gate)라는 물리적인 장치로 구현될 수 있으므로 필요한 논리회로를 설계 게이트 논리회로 설계
41
논리회로 설계 준비 논리함수의 진리표 진리표에서 4, 6, 7, 8행의 논리값이 1이므로, 이를 OR로 연결
논리함수의 진리표에서 논리회로를 설계 논리함수의 진리표 진리표에서 4, 6, 7, 8행의 논리값이 1이므로, 이를 OR로 연결
42
규칙을 적용, 논리회로 설계 다음 두 개의 규칙 주어진 식에 부울대수의 기본법칙을 적용
적절한 논리 규칙을 적용하여 간단한 논리 회로 설계 다음 두 개의 규칙 주어진 식에 부울대수의 기본법칙을 적용
43
논리회로 설계 결과 ㅏㅓㅇㅇㄹㅇ
44
Thank you
Similar presentations