• 검색 결과가 없습니다.

한글강의노트 Chap2

N/A
N/A
Protected

Academic year: 2021

Share "한글강의노트 Chap2"

Copied!
59
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Digital

Digital

Fundamentals

Fundamentals

Tenth Edition

Floyd

Chapter 2

(2)

2

2

2 장

장 수

수 체계

체계

체계, , , 연산

연산

연산 및

및 코드

코드

코드

학습 목표

z 2진수 수 체계, 진수 변환(10진수-2진수-16진수-8진수). z 2진수 산술연산. z 보수 체계, 음수 표현법, z 부동소수점 표현법. z 부호화 2진수 산술연산 방법. z BCD 코드 산술연산. z 2진수와 그레이 코드, ASCII 코드. z 오류검출 코드 CRC z 오류검출 코드, CRC.

(3)

2

2

2---1

1

1 10

10

10진수

진수

진수

z 10진수(decimal number)

9 10진수 시스템 : 0~9까지의 10개의 숫자로 표현

9 10진수 시스템 : 0~9까지의 10개의 숫자로 표현

9기수(radix)는 10

9가중치(weight) 구조 : ‥ 10

2

10

1

10

0

.

10

-1

10

-2

480.52 = (4 x 102) + (8 x 101) + (0 x 100) + (5 x 10-1) +(2 x 10-2)

(4)

2

2

2---1

1

1 10

10

10진수

진수

진수

(5)

2

2

2---2

2

2 2

2

2진수

진수

진수

z 2진수(binary number)

9 2진수 시스템 : 0과1의 2개의 숫자로 표현

9 2진수 시스템 : 0과1의 2개의 숫자로 표현

9기수(radix)는 2

9가중치(weight) 구조 : ‥ 2

2

2

1

2

0

.

2

-1

2

-2

9디지털시스템에서는 2진수 사용

10110.11011 1×24+ 0×23+1×22 + 1×21 + 0×20 + 10 진수 2 진수 0 000 = 1×24 + 0×23+1×22 + 1×21 + 0×20 + 1×2-1 + 1×2-2 + 0×2-3 + 1×2-4 = 16+4+2+1/2+1/4+1/16=22.8125 0 1 2 3 000 001 010 011 3 4 5 011 100 101

z n비트 2진수로 표현할 수 있는

가장 큰 10진수

= 2

n

-1

2진수 8비트에서 표현 가능한 가장 큰수는 6 7 110 111 2진수 8비트에서 표현 가능한 가장 큰수는 28 -1=255

* LSB와 MSB

(6)

2

2

2---2

2

2 2

2

2진수

진수

진수

z 응용예)

9포장라인 자동화

9포장라인 자동화

(7)

2

2

2---2

2

2 2

2

2진수

진수

진수

(8)

2

2

2---2

2

2

2

2

2진수

진수

진수

z 2진수에서 10진수로의 변환

¾1101101을 10진수로 변환 가중치 : 26 25 24 23 22 21 20 2진수 : 1 1 0 1 1 0 1 2진수 : 1 1 0 1 1 0 1 1101101 = 26 + 25 + 23 + 22 + 20 = 109 ¾ 0.1011을 10진수로 변환 가중치 : 2-1 2-2 2-3 2-4 2진수 : 0. 1 0 1 1 0.1101 = 2-1 + 2-3 + 2-4 = 0.6875 0.1101 2 2 2 0.6875 ¾ 100101.01 가중치 : 25 24 23 22 21 20 2-1 2-2 2진수 : 1 0 0 1 0 1 0 1 2진수 : 1 0 0 1 0 1 . 0 1 100101.01=32 + 4 +1 + 0.25 = 37.25

(9)

2

2

2---3

3

3 10

10

10진수

진수

진수---222진수

진수

진수 변환

변환

변환

z

가중치의 합 방법 : 2진 가중치의 합으로 표시 ¾ 109 = 26 + 25 + 23 + 22 + 20 =64+32+8+4+1 ¾ 109 2 2 2 2 2 64 32 8 4 1 z 계속 2로 나누는 방법 : 10진수를 2로 나누어가면서 몫이 0일 될 때까지 반복 z 10진 소수를 2진수로 변환하기 ¾가중치의 합 방법 0 625 2 1+ 2 2 0 5+0 125 0.625= 2-1 + 2-2 =0.5+0.125 ¾계속 2를 곱하는 방법 ¾ 0 188을 2진수로 변환하기 0.188 x 2 = 0.376 carry = 0 0.376x 2 = 0.752 carry = 0 0 752 2 1 504 1 MSB ¾ 0.188을 2진수로 변환하기 0.752x 2 = 1.504 carry = 1 0.504x 2 = 1.008 carry = 1 0.008x 2 = 0.016 carry = 0

Floyd, Digital Fundamentals, 10thed

(10)

2

2

2---3

3

3 10

10

10진수

진수

진수---222진수

진수

진수 변환

변환

변환

(가중치 합에 의한 방법으로) (2로 반복해서 나누는 방법으로) 예제) 10진수 0 12를 2진수로 변환하라 예제) 10진수 0.12를 2진수로 변환하라 10진수 45.5를 2진수로 변환하라

(11)

2

2

2---4

4

4 2

2

2진

진 산술

산술

산술

z

2진 덧셈 0 + 0 = 0 (캐리가 0이고 합이 0) 0 1 1 1 0 0 0 (캐리가 0이고 합이 0) 0 + 1 = 1 (캐리가 0이고 합이 1) 1 + 0 = 1 (캐리가 0이고 합이 1) 1 + 1 = 10 (캐리가 1이고 합이 0)

00111 7

10101 21

1 1 1 0 1 + 1 = 10 (캐리가 1이고 합이 0) z 2진 뺄셈

0

0

1

1

1

=

28

z 2진 뺄셈 0 - 0 = 0 1 - 1 = 0 1 0 = 1 -1 -1 -1

10101

21

1 - 0 = 1 10 - 1 = 1 (0 -1의 경우 자리 빌림수(borrow) 1이 필요)

00111 7

10101 21

0

1

1

1

0

0

=

14

0

(12)

2

2

2---4

4

4 2

2

2진

진 산술

산술

산술

관련문제) 이진수 1111과 1100의 덧셈을 구하라

(13)

2

2

2---4

4

4 2

2

2진

진 산술

산술

산술

z

2진 곱셈 0 × 0 = 0 예제2-10 0 0 0 0 × 1 = 0 1 × 0 = 0 1 × 1 = 1 1 × 1 = 1 z 2진 나눗셈 110 ÷ 11= 10 11 110 11 11 000

(14)

2

2

2---5

5

5 2

2

2진수에서의

진수에서의

진수에서의 111의

의 보수와

보수와

보수와 222의

의 보수

보수

보수

z

2진수의 1의 보수(one’s complemnet) ¾2진수의 1의 보수는 각 비트를 반전하면 된다. ¾2진수의 1의 보수는 각 비트를 반전하면 된다. (모든 1을 0으로, 모든 0을 1로 바꾸면 됨)

00110101

(1’s complement)

11001010

1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 반전기를 이용하여 2진수의 1의 보수를 구할 수 있음

(15)

2

2

2---5

5

5 2

2

2진수에서의

진수에서의

진수에서의 111의

의 보수와

보수와

보수와 222의

의 보수

보수

보수

z

2진수의 2의 보수 ¾1의 보수에 1을 더함 ¾1의 보수에 1을 더함 00110101 (1’ l t) 11001010 00110101 (1’s complement) +1 00110110 (2’s complement) ™보수는 음수 표현을 위해 사용(뺄셈), 컴퓨터(PC)에서는 2의 보수 사용. z 2의 보수 다른 방법 1) 우측부터 시작하여 첫번째 1까지는 불변 2) 나머지 비트들에 대하여 1의 보수를 취함

(16)

2

2

2---6

6

6 부호표시

부호표시

부호표시 수

수(Signed Number)

(Signed Number)

(Signed Number)

z

부호 비트 ¾부호비트 (Sign Bit) : 가장 좌측 비트 ¾부호비트 (Sign Bit) 가장 좌측 비트 양수인 경우는 0, 음수인 경우는 1 예) 십진수 58을 8비트로 부호 2진수로 표현은 00111010

Sign bit Magnitude bits z

부호표시 수 표현 방법

¾부호-크기 형식(Signed magnitude)부 기 형식( g g ) ¾1의 보수 형식(One’s complement)

¾2의 보수 형식(Two’s complement)

(17)

2

2

2---6

6

6 부호표시

부호표시

부호표시 수

z

부호-크기 형식 ¾가장 좌측 비트가 부호 비트, 나머지 비트들은 크기 비트, ¾크기 비트들은 양수나 음수에 관계없이 크기만을 표시 (보수화 되지 않은 참 2진수) ™ 10진수 -25는 다음과 같이 표현된다. 10진수 +25는 8비트로 표현하면 00011001이다. -25는25는 1100110010011001 ™ 부호비트만 다름

(18)

2

2

2---6

6

6 부호표시

부호표시

부호표시 수

z

1의 보수 형식 ¾ 양수는 부호-크기 시스템과 같은 방법으로 표현. ¾ 음수는 대응되는 양수의 1의 보수로 취함. ™ 10진수 -25를 1의 보수 형식 표현은? 10진수 +25는 8비트로 표현하면 00011001이다. 10진수 25는 8비트로 표현하면 00011001이다. -25를 나타내기 위해서는 00011001 Æ 1의 보수화 11100110 -25 = 11100110 z 2의 보수 형식 ¾양수는 부호-크기 및 1의 보수 형식과 같은 방법으로 표현. ¾음수는 대응되는 양수의 2의 보수로 나타냄 ¾음수는 대응되는 양수의 2의 보수로 나타냄. ¾-25를 2의 보수 형식으로 표현은 25 = 00011001 Æ 의 보수 Æ 2의 보수 11100111 -25 = 11100111

(19)

2

2

2---6

6

6 부호표시

부호표시

부호표시 수

(20)

2

2

2---6

6

6 부호표시

부호표시

부호표시 수

z

부호표시 수의 십진 값(예제 2-15~17) – 각각의 관련문제 연습(학생) ¾ 부호-크기 : 양수와 음수의 10진 값은 크기 비트 중 0을 제외한 1만의 ¾ 부호 크기 : 양수와 음수의 10진 값은 크기 비트 중 0을 제외한 1만의 가중치를 모두 더한 값을 가지며 부호는 부호 비트에 의해 결정. 예) 부호-크기 형식으로표시된 2진수 10010101을 10진수로 변환? 최상위비트 부호비트 ‘1’ 음수 나머지 7개 비트의 가중치는 25 + 23 + 20 =21 따라서 -21이다. ¾ 1의 보수 : 음수의 경우 모든 1의 가중치를 더하되 부호 비트의 가중치는 음의 값으로 하며, 더한 결과에 다시 1을 더함 예 예) 1의 보수로 표현된 다음 부호표시 2진수의 11101000을 10진수로 변환? -27 + 26 + 25 + 23 = -128 + 64 + 32 + 8 = -24 + 1 = -23 다른 방법으로는 11101000 수의 1의 보수 00010111이다 이 값은 16 + 4 + 2 + 1 = 23 이다 11101000 수의 1의 보수 00010111이다. 이 값은 16 + 4 + 2 + 1 23 이다. 따라서 10진 값은 -23 ¾ 2의 보수 : 음수의 경우 모든 1의 가중치를 더하되 부호 비트의 가중치는 음의 값으로 한다. ¾ 01010110 = 26 + 24 + 22 +21 = 64 + 16 + 4 + 2 = +86 ¾ 10101010 = - 27 + 25 + 23 +21 = -128 +32+8+2= -86 다른 방법으로 10101010 Æ 2의 보수 01010110 = 64+16+4 + 8 +2 =86

(21)

2

2

2---6

6

6 부호표시

부호표시

부호표시 수

z

부호표시 수의 표현 범위 ¾ n비트로 표현할 수 있는 수의 갯수 =2n ¾ n비트로 표현할 수 있는 수의 갯수 2 ¾ 4비트 : ¾ 1바이트(8비트) : ¾ 2바이트(16비트) : ¾ n비트로 표현할 수 있는 값의 범위 9부호-크기 형식 -(2n-1-1) ~+(2n-1-1) 91의 보수 형식 91의 보수 형식 -(2n-1-1) ~ +(2n-1-1) 92의 보수 형식 92의 보수 형식 -(2n-1) ~ +(2n-1-1)

Floyd, Digital Fundamentals, 10thed

(22)

2

2

2---6

6

6 부호표시

부호표시

부호표시 수

z

부동소수점 수(Floating Point Number)

: 정수와 소수 부분이 같이 있는 수를 표현. : 정수와 소수 부분이 같이 있는 수를 표현. ¾ 매우 크거나 매우 작은 수를 표현 가능, ¾ 정수와 소수 부분을 갖는 수도 표현. ¾ 가수(mantissa) : 수의 크기를 나타내는 부분( ) ¾ 지수(exponent) : 십진 소수점이 이동해야 하는 자릿수 예) 10진 부동소숫점수의 예 241,506,800 = 0.2415068×109 가수=0.2415068, 지수= 9 ¾ ANSI/IEEE S d d 754 1958 표준 형식(2진 부동소숫점에 대한 표준형식) ¾ ANSI/IEEE Standard 754-1958 표준 형식(2진 부동소숫점에 대한 표준형식) ① 단일정도(single-precision, 32 bit) 부동소수점수 표현 - float

② 배정도(double-precision, 64 bit) 부동소수점수 표현 - double ② 배정도(double precision, 64 bit) 부동소수점수 표현 double ③ 확장정도(extended-precision, 80 bit) 부동소수점수 표현

(23)

2

2

2---6

6

6 부호표시

부호표시

부호표시 수

z

단일정도(single-precision, 32 bit) 부동소수점 ¾ 가장 왼쪽의 비트는 부호 비트(S)를 나타내고, 지수(E) 8비트, 가수 23비트( ) ( ) ¾ 가수 : 23비트 왼쪽에 소수점. 모든 2진수의 MSB는 항상 1로 시작하도록 우선 조절 ¾ 지수 : 실제 지수에 127을 더한 편중 지수(biased exponent)를 나타냄 126 +128까지의 실제 지수 표현 가능(28 1=255) -126~+128까지의 실제 지수 표현 가능(28-1=255) S E (8 bits) F (23 bits)

Sign bit Magnitude with MSB dropped

예) 양수 1011010010001 = 1.011010010001 × 212

Sign bit Magnitude with MSB dropped

Biased exponent (+127)

지수 : 12 + 127 = 139 = 2진수 10001011

0 10001011 01101001000000000000000

단일정도(single-precision, 32 bit) 부동소수점 수의 IEEE754표준형식 표기법

(24)

2

2

2---6

6

6 부호표시

부호표시

부호표시 수

z

단일정도(single-precision, 32 bit) 부동소수점 ¾ 가장 왼쪽의 비트는 부호 비트(S)를 나타내고, 지수(E) 8비트, 가수 23비트( ) ( ) ¾ 가수 : 23비트 왼쪽에 소수점. 모든 2진수의 MSB는 항상 1로 시작하도록 우선 조절 지수 : 실제 지수에 127을 더한 편중 지수(biased exponent)를 나타남 126 +128까지의 실제 지수 표현 가능(28 1=255) -126~+128까지의 실제 지수 표현 가능(28-1=255) S E (8 bits) F (23 bits)

Sign bit Magnitude with MSB dropped

Sign bit Magnitude with MSB dropped

Biased exponent (+127)

Express the speed of light, c, in single precision floating point t ti ( 0 2998 109)

notation. (c = 0.2998 x 109)

In scientific notation, c = 1 001 1101 1110 1001 0101 1100 0000 x 228

In binary, c = 0001 0001 1101 1110 1001 0101 1100 00002. In scientific notation, c 1.001 1101 1110 1001 0101 1100 0000 x 2 .

S = 0 because the number is positive. E = 28 + 127 = 15510 = 1001 10112.

(25)

2

2

2---6

6

6 부호표시

부호표시

부호표시 수

다음 ANSI/IEEE Standard 754

다음 ANSI/IEEE Standard

754-1958 표준 형식의 부동소숫점 2진

수의 2진값을 구하라

수의 2진값을 구하라

0100 1100 0100 0010 0010 1001 1000 0000

* 부동소숫점 수 표현의 예외 0.0은 모든 32비트를 0으로, 무한대값은 지수부분은 모두1 가수부분은 모두0으로 표시

(26)

2

2

2---7

7

7 부호표시

부호표시

부호표시 수의

수의

수의 산술

산술

산술 연산

연산

연산

(2(2(2의의의 보수형식중심으로보수형식중심으로보수형식중심으로)))

z 덧셈(addition)

¾ 덧셈에 사용되는 두 수 : 가수(addend)와 피가수(augend)덧 에 사용되 두 수 가수( )와 피가수( g ) ¾ 결과 : 합(sum), 캐리(carry) ¾ 부호표시수 덧셈의 4가지 경우 ① 두 수 모두 양수 : 합은 양수 ② 음수보다 크기가 더 큰 양수의 합 : 합은 양수 ③ 양수와 크기가 더 큰 음수의 합 : 합은 음수 ④ 두 수가 모두 음수 : 합은 음수 ¾ 두 수를 더하고, 최종 캐리가 있으면 버림 ① 7+4 ② 15+(-6) ③ 16+(-24) ④ -5+(-9) 5 ( 9)

(27)

2

2

2---7

7

7 부호표시

부호표시

부호표시 수의

수의

수의 산술

산술

산술 연산

연산

연산

z

오버플로우(Overflow)

¾ 합을 나타내기 위하여 필요한 비트의 수가 주어진 비트수로 표현할 수 ¾ 합을 나타내기 위하여 필요한 비트의 수가 주어진 비트수로 표현할 수 있는 범위를 초과하게 되면 오버플로우가 발생하여 부호비트가 바뀜 ¾ 오버플로우는 두 수가 모두 양이거나, 두 수가 모두 음일 때만 발생 ¾ 결과의 부호 비트가 더해지는 수의 부호 비트와 다를 경우는 오버플로우 z 오버플로우 연산의 예 z 오버플로우 연산의 예 0100 0000 = +64 1000 0001 = −127 0100 0001 = +65 1000 0001 = −127 1000 0001 = −127 10000 0010 = +2 Discard carry

Wrong! The answer is incorrect and the sign bit has changed.

(28)

2

2

2---7

7

7 부호표시

부호표시

부호표시 수의

수의

수의 산술

산술

산술 연산

연산

연산

z 뺄셈 subtraction(덧셈의 특별한 경우임)

¾ (피감수:minuend)-(감수:subtrahend) = 9-6 = 9+(-6) ¾ (피감수:minuend) (감수:subtrahend) 9 6 9+( 6) 6에서 (-6)은 2의 보수로 함 ¾ 감수에 2의 보수를 취하고 덧셈후 발생되는 캐리 비트는 무시함 z예) 10001000 - 11100010 = -120 - (-30) = -120 + 30 = -90 10001000 + 00011110 10100110 10100110 Æ 2의 보수 01011010 = 64+16+8+2 =90 10100110 = -90

(29)

2

2

2---7

7

7 부호표시

부호표시

부호표시 수의

수의

수의 산술

산술

산술 연산

연산

연산

z 뺄셈 subtraction(덧셈의 특별한 경우임)

(30)

2

2

2---7

7

7 부호표시

부호표시

부호표시 수의

수의

수의 산술

산술

산술 연산

연산

연산

z 곱셈(덧셈을 이용해 연산) :

¾피승수(multiplicand) x 승수(multiplier) = 곱(product)( p ) ( p ) (p )

¾ 곱셈을 수행하는 방법 ① 직접덧셈 방법(direct addition) : 승수나 피승수의 개수만큼 덧셈반복 01001101 × 00000100 77 x 4 ② 부분곱 방법(Partial product) 단계 1 : 피승수와 승수의 부호가 같은지 다른지를 결정 단계 2 : 피승수와 승수중 음수는 2의보수를 취해 참 형태로 변환 단계 승수의 부터 시작하여 부분 곱을 만듦 부분 곱을 한 비트씩 좌측이동 단계 3 : 승수의 LSB부터 시작하여 부분 곱을 만듦. 부분 곱을 한 비트씩 좌측이동 단계 4 : 각 부분 곱을 그 이전에 생긴 부분 곱들의 합에 더하여 최종 곱을 구함 단계 5 : 단계 1에서 결정된 부호 비트가 음수이면 최종 곱의 2의 보수를 취하고,

(31)

2

2

2---7

7

7 부호표시

부호표시

부호표시 수의

수의

수의 산술

산술

산술 연산

연산

연산

(32)

2

2

2---7

7

7 부호표시

부호표시

부호표시 수의

수의

수의 산술

산술

산술 연산

연산

연산

z 나눗셈

¾ 피제수(dividend) ÷ 제수(divisor) = 몫(quotient) ¾ 피제수(dividend) ÷ 제수(divisor) 몫(quotient)

피제수 첫 번째 제수의 뺄셈 첫 번째 부분 나머지 21 ÷ 7 두 번째 제수의 뺄셈 두 번째 부분 나머지 세 번째 제수의 뺄셈 나머지 0 ¾나눗셈 단계 9단계 1 :피제수와 제수의 부호가 같은지 다른지를 결정한다. 9단계 2 :첫 번째 부분 나머지를 얻기 위해 2의 보수 덧셈을 이용하여 피제수에서 나머지 0 9단계 2 :첫 번째 부분 나머지를 얻기 위해 2의 보수 덧셈을 이용하여 피제수에서 제수를 빼고, 몫에 1을 더한다. 이때 부분 나머지가 양수이면 단계 3으로 진행하고, 0또는 음수이면 나눗셈을 완료한다. 9단계 3 : 부분 나머지에서 제수를 빼고, 몫에 1을 더한다. 나머지가 양수이면 다음의 부분 나머지를 계속 구하고, 0또는 음수이면 나눗셈을 완료한다. 9제수를 뺏 횟수가 몫임

(33)

2

2

2---7

7

7 부호표시

부호표시

부호표시 수의

수의

수의 산술

산술

산술 연산

연산

연산

(34)

2

2

2---8 16

8 16

8 16진수

진수

진수(hexadecimal Numbers)

(hexadecimal Numbers)

(hexadecimal Numbers)

z 16진수

¾ 기수 : 16 16개( 0~9 A~F )의 문자로 구성 0 1 0 1 0000 0001 Decimal Hexadecimal Binary

¾ 기수 : 16, 16개( 0 9, A F )의 문자로 구성 1 2 3 1 2 3 0001 0010 0011 . Column weights 163 162 161 160 4096 256 16 1 .

{

¾ 4비트, 8비트, 16비트 등의 큰 이진수를 표기하기에 편리함 4 5 6 4 5 6 0100 0101 0110 표기하기에 편리함 ¾16진수 1A2F16을10진수로 나타내면 7 8 9 7 8 9 0111 1000 1001 16 1 x 163 + A x 162 + 2 x 161 + F x 160 1 x 4096 + 10 x 256 +2 x 16 +15 x 1 9 10 11 12 9 A B C 1001 1010 1011 1100 = 670310 12 13 C D 1100 1101

(35)

2

2

2---8 16

8 16

8 16진수

진수

진수

z 2진/16진 변환 ¾ 2진수를 소수점을 중심으로 좌우측으로 4 비트씩 자른 후 각각 16진수로 변환 16진수로 변환 ¾ 111111000101101001를 16진수로 변환하라. 111111000101101001 = 3F169 z 16진/2진 변환 ¾ 16진 기호를 적절하게 4-비트로 변환 z 16진/10진 변환 z 10진/16진 변환 : 10진/2진 변환과 같은 방법

Floyd, Digital Fundamentals, 10thed

(36)

2

2

2---8 16

8 16

8 16진수

진수

진수

(37)

2

2

2---8 16

8 16

8 16진수

진수

진수

z 16진수 덧셈

(38)

2

2

2---8 16

8 16

8 16진수

진수

진수

(39)

2

2

2---9 8

9 8

9 8진수

진수

진수(Octal number)

(Octal number)

(Octal number)

z 8진수 : 기수 8, 8개(0 ~ 7)를 사용. ¾ 2374₈= (2 × 8³) +(3 × 8²) + (7 × 8¹) + (4 × 8⁰)( ) ( ) ( ) ( ) = (2 × 512) + (3 × 64) + (7 × 8) + (4 ×1) = 1024 + 192 + 56 + 4 = 127610 z 10진-8진 변환 z 8진/2진 변환 진 진 변환 z2진-8진 변환

(40)

2

2

2---10 2

10 2

10 2진화

진화

진화 10

10

10진수

진수

진수(BCD)

(BCD)

(BCD)

z BCD (Binary Coded Decimal)

¾ 10진 숫자를 2진코드로 표현하는 한 방법 ¾ 각자리 진 숫자 를 비트의 진 코드로 0 1 0000 0001 Decimal Binary BCD 0000 0001 ¾ 각자리 10진 숫자 0~9를 4비트의 2진 코드로 각각 표현. z8421 코드 : 1 2 3 4 0001 0010 0011 0100 0001 0010 0011 0100 z8421 코드 : ¾BCD 코드의 일종 ¾4비트의 가중치(2³,2²,2¹,2⁰) 4 5 6 0100 0101 0110 0100 0101 0110 7 8 9 0111 1000 1001 0111 1000 1001 예제2-33) 다음의 10진수 35와 98를 BCD로 변환 10 11 12 1010 1011 1100 0001 0001 0001 0000 0001 0010 12 13 14 1100 1101 1110 0001 0001 0001 0010 0011 0100

(41)

2

2

2---10 2

10 2

10 2진화

진화

진화 10

10

10진수

진수

진수

z 예제2-33 풀어보세요

(42)

2

2

2---10 2

10 2

10 2진화

진화

진화 10

10

10진수

진수

진수

z BCD 가산 ¾ 단계 1: 2진 덧셈 규칙을 이용하여 두 BCD 수를 더한다 ¾ 단계 1: 2진 덧셈 규칙을 이용하여 두 BCD 수를 더한다. ¾ 단계 2 : 4-비트 합이 9보다 작거나 같으면, 그것은 타당한 BCD 수 ¾ 단계 3: 4-비트 합이 9보다 크거나 4-비트 그룹에서 캐리가 생기면, 4-비트 합에 6(0110)을 더한다. 6을 더한 결과 캐리가 생기면, 한자리 올려서 다음 4-합에 6(0110)을 더한다. 6을 더한 결과 캐리가 생기면, 한자리 올려서 다음 4 비트 그룹에 더한다.

(43)

2

2

2---10 2

10 2

10 2진화

진화

진화 10

10

10진수

진수

진수

(44)

2

2

2---10 2

10 2

10 2진화

진화

진화 10

10

10진수

진수

진수

BCD

A lab experiment in which BCD is converted to decimal is shown.

(45)

2

2

2---11

11

11 디지털코드

디지털코드

디지털코드

z Gray 코드 ¾ 가중치를 갖지 않는 코드로서 산술용 코드가 아님 0 1 0000 0001

Decimal Binary Gray code

0000 ¾ 여러비트로 구성된 어떤 코드로부터 다음 코드로 증가하거나 감소할 때 한 비트씩만 달라짐 ¾ 2진 -> 그레이 코드 변환 단계 1: 최상위비트(MSB)는 2진수의 최상위비트와 동일 1 2 3 0001 0010 0011 0001 0011 0010 단계 1: 최상위비트(MSB)는 2진수의 최상위비트와 동일. 단계 2: 좌측부터 우측으로 이웃한 두 개의 2진 코드비트를 더하고 캐리는 버린 값이 다음의 Gray 코드 비트 (예) 2진수 10110을 Gray 코드로 변환 4 5 6 0100 0101 0110 0110 0111 0101 (예) 2진수 10110을 Gray 코드로 변환 2진수 10110 --> Gray 코드 11101 (책수정) 7 8 9 0111 1000 1001 0100 1100 1101 ¾ 그레이/2진 코드 변환 그레이 코드 11011을 2진수로 변환 Æ 10010 9 10 11 12 1001 1010 1011 1100 1101 1111 1110 1010 그레이 코드 11011을 2진수로 변환 Æ 10010 12 13 14 15 1100 1101 1110 1111 1010 1011 1001 1000

Floyd, Digital Fundamentals, 10thed

(46)

2

2

(47)

2

2

2---11

11

11 디지털코드

디지털코드

디지털코드

Gray code의 활용 :

3비트 샤프트인코더(shaft encoder)의 예

: 3개의 링과 8개의 섹터로 구성, 흰색은 적외선 반사, 검은색은 적외선 반사안됨개의 링과 개의 섹터 구성, 색 적외 사, 색 적외 사 : 적외선방출/검출기(IR emitter/detector) –빔의방향이 미세하게 틀어져 있을 수 있음 : 적외선 검출기는 반사된 적외선 검출시 1출력, 적외선 미검출시 0출력 : 샤프트의 위치가 3비트 코드화된 형태로 출력됨 : 이진코드를 사용하는 경우 111섹터에서 000섹터로 넘어가는 순간을 고려해보자! 001 000 책수정 001 110

Binary sequence Gray code sequence

(48)

2

2

2---11

11

11 디지털코드

디지털코드

디지털코드

z 영문-숫자(Alphanumeric) 코드 : ¾메시지 표현을 위한 숫자와 영문자(기호)들을 표현하는 코드( ) ¾10진 숫자 10개와 영문자 26개 등 36개를 표현(6 비트가 필요)

zASCII(American Standard Code for Information Interchange)ASCII(American Standard Code for Information Interchange)

9 대부분의 컴퓨터나 전자장비에서 보편적으로 사용 9 7비트 코드(128개의 숫자, 문자, 기호 등을 표현)

9 키보드로부터 문자, 숫자 혹은 제어 명령어 등이 들어오면키 부터 자, 숫자 혹 제어 명령어 등이 들어 이들은 ASCII 코드로 변환된 후 컴퓨터로 입력됨

(49)

2

2

2---11

11

11 디지털코드

디지털코드

디지털코드

z 영문-숫자(Alphanumeric) 코드 : ¾메시지 표현을 위한 숫자와 영문자(기호)들을 표현하는 코드( ) ¾10진 숫자 10개와 영문자 26개 등 36개를 표현(6 비트가 필요) z확장 ASCII (IBM Extended ASCII)확장 ASCII (IBM Extended ASCII)

9 IBM에서 1981년 고안한 8비트 코드

9 ASCII코드 128개외에 추가로 128개의 숫자,문자, 기호 등을 추가

z유니코드(Unicode)

9 2바이트 (16비트) 코드, 65536개 표현(만국공통국제문자체계) 9 공식 명칭 : ISO/IEC 10646-1(1995년 9월 국제표준으로 제정)/ ( )

(Universal Multiple-Octet Coded Character Set) 9 전세계 26개 언어의 문자와 특수기호에 일일이 코드값을 부여 9 영어7비트, 비영어8비트, 한글이나 일본어16비트값을 가짐 9 실제 모두 16비트로 통일하여 표현함

(50)

2

2

2---12

12

12 오류

오류

오류 검출

검출

검출 코드

코드

코드

z 오류 검출을 위한 패리티 방법 ¾ 비트 오류를 검출하는 방법 ¾ 패리티 비트는 1의 개수가 홀수인지 짝수인지. ¾ 짝수 패리티 비트는 1의 총 수를 짝수 개로 ¾ 홀수 패리티 비트는 1의 총 수를 홀수 개로 만듬 ¾ 패리티 비트는 한 비트의 에러 검출 능력을 가짐 ¾ 패리티 비트는 한 비트의 에러 검출 능력을 가짐 BCD 코드에 부가된 패리티 비트

(51)

2

2

2---12

12

12 오류

오류

오류 검출

검출

검출 코드

코드

코드

z순환 덧붙임 검사(cyclic redundancy check : CRC)

¾ 디지털 기기간의 통신하는 과정에서 여러 비트(보통2개) 오류를 ¾ 디지털 기기간의 통신하는 과정에서 여러 비트(보통2개) 오류를 검출할 수 있는 방법 ¾ 모듈로-2 연산 : 연산은 배타적-OR 연산과 동일 z 표2-10 모듈로2(modulo2) 연산 입력비트 출력비트 입력비트 출력비트 0 0 0 0 1 1 1 0 1 1 1 0

(52)

2

2

2---12

12

12 오류

오류

오류 검출

검출

검출 코드

코드

코드

z CRC 처리과정 1. 송수신장치에서 약속한 임의의 발생 코드를 선택한다. 2. 발생 코드의 비트 수와 같도록 데이터 비트에 0을 부가하여 확장한다. 발생 의 비 수와 같 록 데이터 비 에 을 부가하여 확장 다 3. 확장 데이터를 모듈로-2 연산을 사용하여 발생 코드로 나눈다. 4. 나머지가 0이면 데이터 비트와 부가된 비트는 그대로 전송된다. 5. 만약 나머지가 0이 아니면, 나머지가 0이 되도록 부가된 비트는 나머지 비트와 같게 한다 한다. 6. 수신 장치는 데이터 비트 코드에 부가되어 입력되는 코드를 동일한 발생 코드로 나눈다. 7. 만약 나머지가 0이면, 오류가 발생하지 않은 것이고, 나머지가 0이 아니면, 송신 과정에서 오류가 발생한 것이고, 수신 장치는 송신 장치에게 데이터의 재전송을 요구한다., 110100110100 11010011 11010011 110100110000 11010011000 1010 110100110100 110100110100 채널 1010

(53)

Chapter 1

Chapter 1

1 For the binary number 1000 the weight of the column

1. For the binary number 1000, the weight of the column

with the 1 is

a 4

b 6

c 8

d 10

a. 4

b. 6

c. 8

d. 10

2 Th 2’

l

f 1000 i

2. The 2’s complement of 1000 is

a. 0111

b. 1000

c 1001

c. 1001

d. 1010

Electric Circuits Fundamentals - Floyd © Copyright 2007 Prentice-Hall © 2008 Pearson Education

(54)

Chapter 1

Chapter 1

3 The fractional binary number 0 11 has a decimal value of

3. The fractional binary number 0.11 has a decimal value of

a. ¼

b.

½

c. ¾

d. none of the above

4. The hexadecimal number 2C has a decimal equivalent

value of

a. 14

b. 44

c 64

d none of the above

c. 64

d. none of the above

(55)

Chapter 1

Chapter 1

5. Assume that a floating point number is represented in

binary If the sign bit is 1 the

binary. If the sign bit is 1, the

a. number is negative

b number is positive

b. number is positive

c. exponent is negative

d. exponent is positive

p

p

6. When two positive signed numbers are added, the result

b l

th t th

i

f th

i i

l

b

ti

may be larger that the size of the original numbers, creating

overflow. This condition is indicated by

a a change in the sign bit

a. a change in the sign bit

b. a carry out of the sign position

c. a zero result

Electric Circuits Fundamentals - Floyd © Copyright 2007 Prentice-Hall © 2008 Pearson Education

(56)

Chapter 1

Chapter 1

7. The number 1010 in BCD is

l t d i

l i ht

a. equal to decimal eight

b. equal to decimal ten

l

d i

l

l

c. equal to decimal twelve

d. invalid

8. An example of an unweighted code is

a. binary

b. decimal

c. BCD

(57)

Chapter 1

Chapter 1

9. An example of an alphanumeric code is

a he adecimal

a. hexadecimal

b. ASCII

BCD

c. BCD

d. CRC

10. An example of an error detection method for

transmitted data is the

transmitted data is the

a. parity check

b. CRC

b. CRC

c. both of the above

d none of the above

Electric Circuits Fundamentals - Floyd © Copyright 2007 Prentice-Hall © 2008 Pearson Education

(58)

Answers:

1. c

2 b

6. a

7 d

2. b

3. c

7. d

8. d

4. b

5. a

9. b

10. c

5.

(59)

2

2

2장

장 요약

요약

요약

z 수 체계 z 진수 변환(10 - 2 - 16 - 8진수) z 보수 z 2진수 산술연산 z 2진수에서 음수 표현법 z 부호화 2진수 산술연산 z BCD 코드 z 그레이 코드 z ASCII 코드 z ASCII 코드 z CRC

참조

관련 문서

• 이번 실습에서는 Practice13_1 프로그램을 수 정하여, 곡선의 컨트롤 포인트를 마우스의 드 래깅으로 이동하여 곡선을 업데이트하도록 할 것이고, 곡선을

중국어 문법을 배웠다 해도 여전히 적지 않은 오류가 나타나기

강제집행면탈죄는 이른바 위태범으로서 강제집행을 당할 구체적인 위험이 있는 상태에서 재산을 은닉, 손괴, 허위양도 또는 허위의 채무를 부담하면 바로

만약 태아를 인간 생명으로 본다면 임신중절은 살인과 다름없는 행위가 되는 것이고, 만약 태아를 인간 생명이 아닌 단순한 유기체에 불과한 것으로 본다면 임신중절은

이 문서는 오라클 미국 본사용으로 작성된 영어 프레젠테이션을 번역한 내용입니다. 이 번역은 편의를 위해 제공되며 경우에 따라 오류가 있을 수 있습니다. 일부

감리자가 확인한 실행공정률이 예정공정률(주채무자가 감리자에게 제출하는 예정공정표상의 공정률을 말함... (기재사항의 오류가

또한 테스트를 통해 기존 MQTT 통신방식과 본 논문에서 제안하는 통신방식을 데이터 송수신 지연과 손실 측면에서 비교분석하고 Publisher 송신

듀이에 의하면 철학의 문제는 사회적인 문제들을 해결하고자 하는 탐구 과정에서 발생한다. 따라서 철학적인 문제는 지역 적인 것이고, 맥락의존적인 것일 수밖에