제 2 장 수 체계 , 연산 및 코드

45
Electric Circuits Fundamentals - Floyd © Copyright 2007 Prentice-Hall Chapter Chapter 2 2 제 2 제 제 제제 , 제제 제 제제 제제제 제제제제

Upload: rahim-koch

Post on 01-Jan-2016

108 views

Category:

Documents


0 download

DESCRIPTION

제 2 장 수 체계 , 연산 및 코드. 디지털 공학개론. 2 장 수 체계 , 연산 및 코드. 학습 목표. 2 진수 수 체계 , 진수 변환 (10 진수 -2 진수 -16 진수 -8 진수 ). 2 진수 산술연산 . 보수 체계 , 음수 표현법 , 부동소수점 표현법 . 부호화 2 진수 산술연산 방법 . BCD 산술연산 . 2 진수와 그레이 코드 , ASCII 코드 . 오류검출 코드 , CRC. - PowerPoint PPT Presentation

TRANSCRIPT

Electric Circuits Fundamentals - Floyd © Copyright 2007 Prentice-Hall

Chapter 2Chapter 2

제 2 장수 체계 , 연산 및 코드

디지털 공학개론

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2 2 장 수 체계장 수 체계 , , 연산 및 연산 및 코드코드

학습 목표

2 진수 수 체계 , 진수 변환 (10 진수 -2 진수 -16 진수 -8 진수 ).

2 진수 산술연산 .

보수 체계 , 음수 표현법 ,

부동소수점 표현법 .

부호화 2 진수 산술연산 방법 .

BCD 산술연산 .

2 진수와 그레이 코드 , ASCII 코드 .

오류검출 코드 , CRC.

1.1 수의 체계와 정보 개념– 우리가 일상적으로 사용하는 10 진수는 0 – 9 까지의 10 개 기호를

써서 나타낸다 . 그러나 , 컴퓨터나 , 기타 디지털 시스템에서는 2개의 숫자나 , 8 개의 숫자 , 또는 16 개의 숫자를 사용한 진법을 사용하여 얻고자 하는 정보를 생산해 낸다 .

중앙처리장치

(CPU)입력장치 출력장치

자 료 표 현

* 2 진 수 * 8 진수 * 10 진수

* 특수문자 * 16 진수 * 문자 /기호

* 이미지 인식 * 코드 /부호 * 이미지

중앙처리장치(central processing unit)

보조기억장치(auxiliary memory)

출력장치(output unit)

입력장치(input unit)

논리연산장치(arithmetic & logical unit)

주기억장치(main memory)

마우스키보드스캐너

조이스틱 ...

하드디스크플로피디스크

CD광디스크…

모니터프린터…

자 료 표 현

* 2 진 수 * 8 진수 * 10 진수

* 특수문자 * 16 진수 * 문자 /기호

* 이미지 인식 * 코드 /부호 * 이미지

1. 컴퓨터의 주요기능과 자료표현

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-12-1 1010 진수진수

10 진수 10 진수 시스템에서 0~9 까지의 10 개의 숫자로 표현기수는 10가중치 (weight) 구조 : ‥ 102 101 100 . 10-1 10-2 ‥

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

제 2 장 수의 체계와 정보의 코드

6

2. 10 진수– 10 진수의 각 숫자는 10 개의 서로 다른 양만을 나타내는 데

그치지않고 더 많은 양을 나타낼 수 있는데 이 양의 표시는 이들 숫자들의 적절한 위치 선정으로 표시할 수 있다 .

– 예 ) 623 = 6 x 102 +2 x 101+ 3 x100

weight base

= 600 + 20 + 3

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-22-2 22 진수진수

2 진수 2 진수 시스템에서 0 과 1 의 2 개의 숫자로 표현가중치 (weight) 구조 : ‥ 22 21 20 . 2-1 2-2 ‥디지털시스템에서는 2 진수 사용

  10110.11011= 1×24 + 0×23+1×22 + 1×21 + 0×20 + 1×2-1 + 1×2-2 + 0×2-3 + 1×2-4 +1x2-5 = 16+4+2+1/2+1/4+1/16=22.8125

10 진수 2 진수

0

1

2

3

4

5

6

7

000

001

010

011

100

101

110

111

가장큰 10 진수 = 2n -1 (n 비트수 ) 2 진수 8 비트에서 표현 가능한 가장 큰수는 28 -1=255

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-22-2 22 진수진수

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

1101101 을 10 진수로 변환              가중치 :     26 25 24 23 22 21 20              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 100101.01 가중치 : 25 24 23 22 21 20 2-1  2-2             2 진수 : 1 0 0 1 0 1 . 0   1 

100101.01=32 + 4 +1 + 0.25 = 37.25

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-32-3 1010 진수진수 -2-2 진수 변환진수 변환

가중치의 합 방법 : 2 진 가중치의 합으로 표시 109 = 26 + 25 + 23 + 22 + 20 =64+32+8+4+1

계속 2 로 나누는 방법 : 10 진수를 2 로 나누어가면서 몫이 0 일 될 때까지 반복

10 진 소수를 2 진수로 변환하기가중치의 합 방법

0.625= 2-1 + 2-2 =0.5+0.125계속 2 를 곱하는 방법

0.188 x 2 = 0.376 carry = 0

0.376 x 2 = 0.752 carry = 0

0.752 x 2 = 1.504 carry = 1

0.504 x 2 = 1.008 carry = 1

0.008 x 2 = 0.016 carry = 0

MSB

0.188 을 2 진수로 변환하기

Answer = .00110 (for five significant digits)

3. 2 진수 (1)

– 10 진수가 10 개의 숫자로 되어 있는 것과 같이 2 진수 (binary number) 는 2 개의 숫자 ( 0 과 1) 로 되어 있다 .

따라서 , 2 진수에서는 0 과 1 의 두개의 숫자로 모든 수를 나타낼 수 있는 것이 특징이다 .

N = --- +16d4 + 8d3 + 4d2 + 2d1 + d0

base

( 여기서 , 20, 21,22,23…… 은 2 진수에서의 자리 값 )

= --- +24d4 + 23d3 + 22d2 + 21d1 + 20d0

1) 2 진수에서 10 진수로의 전환• 예 ) (10101)2 = 1 x 24 + 0 x 23 +1 x 22 + 0 x 21+ 1 x 20

= 16 + 4 + 1 = ( 21)10

2) 10 진수에서 2 진수로의 전환• 예 ) (26)10 =( 11010)2

2 61 3

3

6

1

2

22

2

01

0

1

(MSB)

(LSB)

3. 2 진수 (2)

3) 분수 2 진수 분수 2 진수의 일반식은 다음과 같이 표현한다 .

일반식 :N=d1R-1+d2R-2+d3R-3+--- +dnR-n

• 예 ) (21.6)10 을 2 진수로 변환해보자 → (10101.1001…)2

2n … 22 21 20 2-1 2-2 2-3 … 2-m

.

소수점 기준

2 11 0

2

5

1

2

22

2

10

1

0

(MSB)

(LSB)i)

0.6X 2

1. 2

1

0.2X 2

0. 4

0

0.4X 2

0. 8

0

0.8X 2

1. 6

1

ii)

3. 2 진수 (3)

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-42-4 22 진 산술진 산술

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

2 진 뺄셈 0 - 0 = 0 1 - 1 = 0 1 - 0 = 1 10 - 1 = 1  (0 -1 의 경우 자리 내림수 1 이 필요 )

00111 710101 21

0

/1

1110 14

/1

/1

=

00111 710101 21

0

1

0

1

1

1

1

0

1 28=

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-42-4 22 진 산술진 산술

2 진 곱셈 0 × 0 = 0   0 × 1 = 0   1 × 0 = 0   1 × 1 = 1

2 진 나눗셈 110 ÷ 11=

1011 110

11 000

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-52-5 22 진수에서의 진수에서의 11 의 보수와 의 보수와 22 의 의 보수보수

2 진수의 1 의 보수 (r-1) 의 보수 = (rn - 1) - N

2 진수의 1 의 보수는 각 비트를 변화하면 된다 . ( 모든 1 을 0 으로 , 모든 0 을 1 로 바꾸면 됨 )

1 1 0 0 1 0 1 0

0 0 1 1 0 1 0 1

00110101 (1’s complement)

11001010

반전기를 이용하여 2 진수의 1 의 보수

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-52-5 22 진수에서의 진수에서의 11 의 보수와 의 보수와 22 의 의 보수보수

2 진수의 2 의 보수 r 의 보수 = rn - N=(r-1) 의 보수 + 1 1 의 보수에 1 을 더함

2 의 보수 다른 방법1)우측부터 시작하여 첫번째 1 까지는 불변2) 나머지 비트들에 대하여 1 의 보수를 취함

00110101 (1’s complement)

+100110110 (2’s complement)

11001010

보수는 음수 표현을 위해 사용( 뺄셈 ), 컴퓨터 (PC) 에서는 2 의 보수 사용 .

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-62-6 부호표시 수부호표시 수

부호 비트부호비트 (Sign Bit) : 가장 좌측 비트 양수인 경우는 0, 음수인 경우는 1

예 )

부호표시 수 표현 방법부호 - 크기 형식1 의 보수 형식2 의 보수 형식

십진수 58 을 8 비트로 부호 2 진수로 표현은 00111010

Sign bit Magnitude bits

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-62-6 부호표시 수부호표시 수

부호 - 크기 형식가장 좌측 비트가 부호 비트 , 나머지 비트들은 크기 비트 크기 비트들은 양수나 음수에 관계없이 크기만을 표시 ( 보수화 되지 않은 참 2 진수 )

10 진수 -25 는 다음과 같이 표현된다 . 10 진수 +25 는 8 비트로 표현하면 00011001 이다 . -25 는 10011001

부호비트만 다름

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-62-6 부호표시 수부호표시 수

1 의 보수 형식 양수는 부호 - 크기 시스템과 같은 방법으로 표현 . 음수는 대응되는 양수의 1 의 보수로 취함 .

10 진수 -25 를 1 의 보수 형식으로 표현은 10 진수 +25 는 8 비트로 표현하면 00011001 이다 . -25 를 나타내기 위해서는 00011001 1 의 보수화 11100110 -25 = 11100110

2 의 보수 형식양수는 부호 - 크기 및 1 의 보수 형식과 같은 방법으로 표현 . 음수는 대응되는 양수의 2 의 보수로 나타냄 .-25 를 2 의 보수 형식으로 표현은 25 = 00011001 2 의 보수 11100111 -25 = 11100111

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-62-6 부호표시 수부호표시 수

부호표시 수의 십진 값 부호 - 크기 : 양수와 음수의 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 이다 . 따라서 10 진 값은 -23

2 의 보수 : 음수의 경우 모든 1 의 가중치를 더하되 부호 비트의 가중치는 음의 값으로 한다 .

010010110 = 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 따라서 10101010 는 -86 이다 .

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-62-6 부호표시 수부호표시 수

부호표시 수의 표현 범위 n 비트로 표현할 수 있는 수의 조합 =2n

n 비트로 표현할 수 있는 값의 범위 부호 - 크기 형식 -(2n-1-1) ~ + (2n-1-1)

1 의 보수 형식 -(2n-1-1) ~ +(2n-1-1)

2 의 보수 형식 -(2n-1) ~ + (2n-1-1)

컴퓨터에서는 부호표시 수를 표현하기 위해 2 의 보수 형식이 가장 많이 사용

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-62-6 부호표시 수부호표시 수

부동소수점 수 : 정수와 소수 부분이 같이 있는 수를 표현 . 비트 수를 늘리지 않고도 매우 크거나 작은 수를 표현 가능 , 정수와 소수 부분을 갖는 수도 표현 .가수 (mantissa) : 수의 크기를 나타내는 부분 지수 (exponent) : 십진 소수점이 이동해야 하는 자릿수

예 )241,506,800 = 0.2415068×109

가수 =0.2415068, 지수 = 9

ANSI/IEEE Standard 754-1958 표준 형식

① 단일정도 (single-precision, 32 bit) 부동소수점

② 배정도 (double-precision, 64 bit)

③ 확장정도 (extended-precision, 80 bit)

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-62-6 부호표시 수부호표시 수

단일정도 (single-precision, 32 bit) 부동소수점 가장 왼쪽의 비트는 부호 비트 (S) 를 나타내고 , 지수 (E) 8 비트 , 가수 23 비트 가수 : 23 비트 왼쪽에 소수점 . 모든 2 진수의 MSB 는 항상 1, 1 이 없더라도 있는 것으로 간주 ( 유효숫자 늘림 ) 지수 : 실제 지수에 127 을 더한 편중 지수 (biased exponent) 를 나타남 -126~+128 까지의 실제 지수 표현 가능 (28-1=255)

예 ) 양수 1011010010001 = 1.011010010001 × 212  지수 : 12 + 127 = 139 = 2 진수 10001011

010001011

01101001000000000000000

S E (8 bits) F (23 bits)

Sign bit Magnitude with MSB dropped Biased exponent (+127)

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-7 2-7 부호표시 수의 산술 연산부호표시 수의 산술 연산

덧셈 덧셈에 포함된 두 수 : 가수 (addend) 와 피가수 (augend) 결과 : 합 (sum), 캐리 (carry) 4 가지 경우수

두 수 모두 양수 : 합은 양수음수보다 크기가 더 큰 양수 : 합은 양수양수와 크기가 더 큰 음수 : 합은 음수두 수가 모두 음수 : 합은 음수

   두 수를 더하고 , 최종 캐리가 있으면 버림7+4 15+(-6)

16+(-24) -5+(-9)

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-7 2-7 부호표시 수의 산술 연산부호표시 수의 산술 연산

오버플로우 (Overflow) 합을 나타내기 위하여 필요한 비트의 수가 두 수의 비트의 수보다 초가하게 되면 오버플로우가 발생 오버플로우는 두 수가 모두 양이거나 음일 때만 발생 결과의 부호 비트가 더해지는 수의 부호 비트와 다를 경우

두 수씩 더해가는 덧셈

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-7 2-7 부호표시 수의 산술 연산부호표시 수의 산술 연산

뺄셈 ( 피감수 )-( 감수 ) = 9-6 = 9+(-6)

6 에서 (-6) 은 2 의 보수로 함 발생되는 캐리 비트는 무시한예 ) 10001000 - 11100010

= -120 - (-30) = -120 + 30 = -90 10001000+ 00011110 10100110

10100110 2 의 보수 01011010 = 64+16+8+2 =90 10100110 = -90

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-7 2-7 부호표시 수의 산술 연산부호표시 수의 산술 연산

곱셈피승수 (multiplicand) x 승수 (multiplier) = 곱 (product)

곱셈을 수행하는 방법단계 1 : 피승수와 승수의 부호가 같은지 다른지를 결정한다 . 단계 2 : 음수는 참 형태로 변환한다 . 단계 3 : 승수의 LSB 부터 시작하여 부분 곱을 만든다 . 부분 곱을 한 비트씩 좌측으로 이동시킨다 .단계 4 : 각 부분 곱을 그 이전에 생긴 부분 곱들의 합에 더하여 최종 곱을 구한다 .단계 5 : 단계 1 에서 결정된 부호 비트가 음수이면 최종 곱의 2 의 보수를 취하고 , 양수이면 참 형으로 그대로 분다 . 부호 비트를 최종 곱의 결과에 부가한다 .

01001101 × 00000100

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-7 2-7 부호표시 수의 산술 연산부호표시 수의 산술 연산

나눗셈 피제수 (dividend) ÷ 제수 (divisor) = 몫 (quotient)

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

피제수

첫 번째 제수의 뺄셈

첫 번째 부분 나머지

두 번째 제수의 뺄셈

두 번째 부분 나머지

세 번째 제수의 뺄셈

나머지 0

21 ÷ 7

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-8 162-8 16 진수진수

16 진수 기수 : 16, 16 개 ( 0~9, A~F ) 의 문자로 구성

16 진수 1A2F16 을 10 진수로 나타내면

1 x 163 + A x 162 + 2 x 161 + F x 160

1 x 4096 + 10 x 256 +2 x 16 +15 x 1

= 670310

0 1 2 3 4 5 6 7 8 9 10 11 12 13 1415

0 1 2 3 4 5 6 7 8 9 A B C D E F

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Decimal Hexadecimal Binary

.Column weights 163 162 161 160 4096 256 16 1 .{

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-8 162-8 16 진수진수

2 진 /16 진 변환 2 진수를 소수점을 중심으로 좌우측으로 4 비트씩 자른 후 각각 16

진수로 변환 111111000101101001 를 16 진수로 변환하라 .

111111000101101001 = 3F169

16 진 /2 진 변환 16 진 기호를 적절하게 4- 비트로 변환

16 진 /10 진 변환

10 진 /16 진 변환 : 10 진 /2 진 변환과 같은 방법

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-8 162-8 16 진수진수

16 진수 덧셈

16 진 뺄셈8416 - 2A16

2A16 = 00101010 2A16 의 2 의 보수 = 11010110 = D616 ( 방법 1) 2A16+ D616 가산 -----15A16 2 의 보수 가산처럼 캐리는 무시하고 결과는 5A16 이다 .

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-9 82-9 8 진수진수

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

10 진 -8 진 변환

8 진 /2 진 변환

2 진 -8 진 변환

4.1 8 진수– 8 진수 (octal number) 는 2 진수로 쉽게 변환할 수 있기 때문에

인기가 있다 . 8 진수는 밑이 8 이므로 뚜렷이 구별되는 8 개 숫자를 쓰면 된다 . 즉 , 0,1,2,3,4,5,6,7 을 8 진법의 디지트로 사용하고 , 8과 9 는 존재하지 않는다 .

8n … 82 81 80 8-1 8-2 8-3 … 8-m

.

소수점 기준

4.2 8 진수에서 10 진수로 변환

1) 8 진수에서 10 진수로 변환

• 예 ) (37)8 을 10 진수로 변환하자 → (31)10

N= 3 X 81+7 X 80 =31

– 예 ) (0.23)8 을 10 진수로 변환하자 → (0.296875)10

N=0X80+2X8-1+3X8-2 =0+2X1/8+3X1/64

= (0.296875)10

2) 10 진수에서 8 진수로 변환• 예 ) (127)10 을 8 진수로 변환해 보자 → (177)8

– 예 ) 정수부와 소수부가 있는 (49.21875)10 를 8 진수로 변환해 보자 → (61.16)8

1271 5

1

8

8

77

(MSB)

(LSB)

4.3 10 진수에서 8 진수로 변환

4 9

6

8 1

(MSB)

(LSB)

i)0.21875X 8

1. 7500

1

0.75X 8

6. 00

6

ii)

3) 8 진수에서 2 진수로 변환 모든 3 비트의 2 진수는 1 개의 8 진 숫자로 나타낼 수 있다 . 그러므로 8

진수로 변환하는 것과 2 진수를 8 진수로 변환하는 것은 쉽다 . 따라서 8 진수는 디지털 시스템에서 입 . 출력의 응용에 많이 이용된다 .

• 예 ) (23)8 을 2 진수로 변환 → (010011)2

• 예 ) (35.74)8 를 2 진수로 변환 → (011101.111100)2

8진수

0 1 2 3 4 5 6 7

2진수

000 001 010 011 100 101 110 111

4.4 8 진수에서 2 진수로 변환

4) 2 진수에서 8 진수로 변환 2 진수를 8 진수로 변환하는 것은 오른쪽에서 부터 2 진수를 3 비트씩 묶어서 8 진수의 한 자리로 변환하면 된다 .

• 예 ) (100111110100000101)2 을 8 진수로 변환 → (476405)8

• 예 ) (1011.01101)2 을 8 진수로 변환 → (13.32)8

4.5 2 진수에서 8 진수로 변환

소수점 기준

새로운 0 추가

(001 011 . 011 010)

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-10 22-10 2 진화 진화 1010 진수진수

BCD (Binary Coded Decimal) 10 진 숫자 0~9 를 4 비트의 2 진 코드로 각각 표현 .

8421 코드 : BCD 코드의 일종4 비트의 가중치 (2³,2²,2¹,2 )⁰

0 1 2 3 4 5 6 7 8 9 10 11 12 13 1415

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Decimal Binary BCD

0001 0001 0001 0001 0001 0001

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 0001 0010 0011 0100 0101

다음의 10 진수 35 와 98 를 BCD 로 변환하라 .

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-10 22-10 2 진화 진화 1010 진수진수

BCD 가산

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

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-11 2-11 디지털코드디지털코드

Gray 코드 가중치를 갖지 않는 코드로서 산술용 코드가 아님 어떤 코드로부터 다음 코드로 증가할 때 한 비트만 변화 2 진 / 그레이 코드 변환단계 1: 최상위비트는 2 진수의 최상위비트와 동일 . 단계 2:  좌측부터 우측으로 이웃한 두 개의 2 진 코드 비트를 더하고 캐리는 버린 값이 다음의 Gray 코드 비트

( 예 ) 2 진수 10110 을 Gray 코드로 변환                 2 진수   10110   -->  Gray 코드 11101

그레이 /2 진 코드 변환 그레이 코드 11011 을 2 진수로 변환 10010

0 1 2 3 4 5 6 7 8 9 10 11 12 13 1415

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Decimal Binary Gray code

0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-11 2-11 디지털코드디지털코드

영문 - 숫자 (Alphanumeric) 코드 : 숫자와 영문자들을 표현하는 코드10 진 숫자 10 개와 영문자 26 개 등 36 개를 표현 (6 비트가 필요 )

ASCII(American Standard Code for Information Interchange) 대부분의 컴퓨터 ,전자장비에서 보편적으로 사용되는 영문 - 숫자 코드 키보드로부터 문자 , 숫자 혹은 제어 명령어 등이 들어오면 이들은 ASCII 코드로 변환된 후 컴퓨터로 입력 ASCII 코드는 7- 비트 , 128 개의 문자와 기호로 구성 MSB 가 항상 0인 8- 비트 코드 , ASCII 표 참조 처음 32 개는 제어문자 , 나머지는 문자 표시 확장 ASCII 문자 IBM 에서 만든 PC 에 사용하기 위해 256 개로 확장한 ASCII 문자 . 비공식적으로 표준화되어 있는 상태 추가된 내용 : 비 영어권의 문자 , 비 영어권의 화폐 기호 , 그리스 문자 수학 기호 , 제도용 문자 , 막대 그래프용 문자 , 묘영 문자 (shading character)

유니코드 2 바이트 체계의 국제 문자부호 체계

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-11 2-11 디지털코드디지털코드

영문 - 숫자 (Alphanumeric) 코드 : 숫자와 영문자들을 표현하는 코드10 진 숫자 10 개와 영문자 26 개 등 36 개를 표현 (6 비트가 필요 )

ASCII(American Standard Code for Information Interchange) 대부분의 컴퓨터 ,전자장비에서 보편적으로 사용되는 영문 - 숫자 코드 키보드로부터 문자 , 숫자 혹은 제어 명령어 등이 들어오면 이들은 ASCII 코드로 변환된 후 컴퓨터로 입력 ASCII 코드는 7- 비트 , 128 개의 문자와 기호로 구성 MSB 가 항상 0인 8- 비트 코드 , ASCII 표 참조 처음 32 개는 제어문자 , 나머지는 문자 표시 확장 ASCII 문자 IBM 에서 만든 PC 에 사용하기 위해 256 개로 확장한 ASCII 문자 . 비공식적으로 표준화되어 있는 상태 추가된 내용 : 비 영어권의 문자 , 비 영어권의 화폐 기호 , 그리스 문자 수학 기호 , 제도용 문자 , 막대 그래프용 문자 , 묘영 문자 (shading character)

유니코드 2 바이트 체계의 국제 문자부호 체계

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-12 2-12 오류 검출 코드오류 검출 코드

오류 검출을 위한 패리티 방법 비트 오류를 검출하는 방법으로 패리티 비트 사용 패리티 비트는 1 의 개수가 홀수인지 짝수인지를 나타낸다 . 짝수 패리티 비트는 1 의 총 수를 짝수 개로 홀수 패리티 비트는 1 의 총 수를 홀수 개로 만듬 에러 검출 기능 : 패리티 비트는 한 비트의 에러를 검출

순환 덧붙임 검사 (cyclic redundancy check : CRC) 기기간의 통신하는 과정에서 1 또는 2 개의 비트 오류를 검출하는 방법 모듈로 -2 연산 : 연산은 배타적 -OR 연산과 동일

BCD 코드에 부가된 패리티 비트

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

2-12 2-12 오류 검출 코드오류 검출 코드

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

수신단

© 2009 Pearson Education, Upper Saddle River, NJ 07458. All Rights ReservedFloyd, Digital Fundamentals, 10th ed

수 체계

진수 변환 (10 - 2 - 16 - 8 진수 )

보수

2 진수 산술연산

2 진수에서 음수 표현법

부호화 2 진수 산술연산

BCD 코드

그레이 코드

ASCII 코드

CRC

22 장 요약장 요약