Transcript 2진수

1. 2진 시스템
2진수

a5a4a3a2a1a0.a-1a-2a-3
n
n-1
2
-1
-2
-m
= anr +an-1r +...+a2r +a1r+a0+a-1r +a-2r +...+a-mr
3
2
1
7392 = 7 × 10 + 3 × 10 + 9 × 10 +2 × 10
4
3
2
0
1
(11010.11)2 =1×2 +1×2 +0×2 +1×2 +0×20+1×2-1+1×2-2
= (26.75)10
10
2
20 = 1Kilo
2
30
2 = 1Mega
= 1Giga
2n
2n
2n
2진수
피가수
101101
피감수:
가수
+100111
감수:
합
1010100
차:
101101
-100111
피승수:
승수:
000110
101
*101
1011
0000
1011
곱:
10111
기수의 변환

Ex 1-1) 10진수 41을 2진수로 변환하라.
정수의 몫
나머지
계수
정수
나머지
41
41/2 =
20
+
½
a0 = 1
20/2 =
10
+
0
a1 = 0
10/2 =
5
+
0
a2 = 0
5/2 =
2
+
½
a3 = 1
2/2 =
1
+
0
a4 = 0
1/2 =
0
+
½
a5 = 1
답 : (41)10 = (a5a4a3a2a1a0)2 = (101001)2
20
1
10
0
5
0
2
1
1
0
0
1
답
=101001
기수의 변환

Ex 1-2) 10진수 153을 8진수로 변환하라.
153
19 1
2 3
0 2

= (231)8
Ex 1-3) 10진수 0.6875를 2진수로 변환하라.
정수
소수
계수
0.6875*2 =
1
+
0.3750
a-1 = 1
0.3750*2 =
0
+
0.7500
a-2 = 0
0.7500*2 =
1
+
0.5000
a-3 = 1
0.5000*2 =
1
+
0.0000
a-4 = 1
답:(0.6875)10 = (0.a-1a-2a-3a-4)2 = (0.1011)2
8진수와 16진수
( 10 110 001 101 011 . 111 100 000 110 )2 = (26153.7460)8
2
6
1
5
3
7
4
0
6
( 10 1100 0110 1011 . 1111 0010 )2 = (2C6B.F2)16
2
C
6
B
F
2
보수 – 감소된 기보수

기수가 r이고 자리수가 n인 숫자 N, N에 대한 (r-1)의 보수는
n
(r -1)-N

N에 대한 9의 보수는 (10 -1)-N 이다.
n
Ex) 546700에 대한 9의 보수는 999999-546700=453299
012398에 대한 9의 보수는 999999-012398 = 987601

2진수에 대해, r=2, r-1=1
n
N에 대한 1의 보수는 (2 -1)-N
Ex) 1011000에 대한 1의 보수는 0100111
0101101에 대한 1의 보수는 1010010
보수 - 기보수
n
n 자리의 숫자 N에 대한 r의 보수는 N≠0 일 때 r -N,
N=0 일 때 0.
n
n
 r -N=[(r -1)-N]+1

=> r의 보수는 (r-1)의 보수에 1을 더하면 구해짐.

Ex) 012398에 대한 10의 보수는 987602
246700에 대한 10의 보수는 753300
1101100에 대한 2의 보수는 0010100
0110111에 대한 2의 보수는 1001001
보수 – 보수를 이용한 뺄셈


Ex1-5) 10의 보수를 사용하여 72532-3250을 구하라.
M=
72532
N에 대한 10의 보수 =
+ 96750
합=
169282
끝자리 올림 105 버림 =
-100000
답=
69282
Ex1-6) 10의 보수를 사용하여3250-72532를 구하라.
M=
03250
N에 대한 10의 보수 =
+27468
끝자리 올림 없음.
합=
30718
답은 –(30718에 대한 10의 보수)=-69282 이다.
보수 – 보수를 이용한 뺄셈

Ex1-7) X=1010100, Y=1000011, (a) X-Y, (b) Y-X
(a) X-Y
X=
1010100
Y에 대한 2의 보수 =
+0111101
합=
10010001
끝자리 올림 27 을 버림 =
-10000000
답: X-Y =
0010001
(b) Y-X
Y=
1000011
X에 대한 2의 보수 =
+0101100
합=
1101111
끝자리 올림 없음.
답은 Y-X = -(1101111에 대한 2의 보수)=-0010001 이다.
보수 – 보수를 이용한 뺄셈

Ex1-8) 1의 보수를 사용하여 예제 1-7을 구하라.
(a) X-Y = 1010100-10000011
X=
1010100
Y에 대한 1의 보수 =
+0111100
합=
10010000
순환자리 올림 =
답: X-Y =
+
1
0010001
(b) Y-X = 10000011-1010100
Y=
1000011
X에 대한 1의 보수 =
+0101011
합=
1101110
끝자리 올림 없음.
답은 Y-X = -(1101110에 대한 1의 보수)=-0010001이다.
부호화된 2진수

예) 8비트의 2진수로 표현된 9.
+9 : 00001001
-9 : 10001001 (부호 크기 방식)
11110110 (부호화된 1의 보수)
11110111 (부호화된 2의 보수)
부호화된 2진수

산술 덧셈
- 부호-크기 방식에서 두 수의 덧셈은 일반적인 연산방법으로 계산.
- 부호-보수 방식은 단지 덧셈만 필요.

+6
00000110
-6
11111010
+13
00001101
+13
00001101
+19
00010011
+7
00000111
+6
00000110
-6
11111010
-13
11110011
-13
11110011
-7
11111001
-19
11101101
산술 뺄셈.
(±A)-(+B) = (±A)+(-B)
(±A)-(-B) = (±A)+(+B)
2진식 코드 – BCD 코드
- 한자리 숫자를 표현하기 위한 4비트 코드
(185)10 = (0001 1000 0101)BCD = (10111001)2

BCD 덧셈.
4
0100
4
0100
8
1000
+5
+0101
+8
+1000
+9
+1001
9
1001
12
1100
17
10001
+0110
+0110
10010
10111
- 2진수의 합이 1010보다 크거나 같으면 10110을 더해서 올바른 BCD합을 만듦.
2진식 코드 – 다른 10진 코드
2진식 코드 - 그레이 코드
2진식 코드 -
ASCII Character Code
2진식 코드

오류검출코드
짝수 패리티
홀수 패리티
ASCII A = 1000001
01000001
11000001
ASCII T = 1010100
11010100
01010100
2진식 기억장치와 레지스터


레지스터 – n개의 셀이 있는 레지스터는 n비트의 정보를 이산적인 양의 형태로
저장할 수 있다.
레지스터 전이
Binary Logic

2진식 논리의 정의

논리 게이트
2진식 논리