컴퓨터에서 음수를 나타내는데 사용
r진법에서 두 종류의 보수가 존재
◦
r의 보수와 (r-1)의 보수
2진법의 경우 – 2의 보수와 1의 보수
10진법의 경우
부호있는 2진 정수의 표현
◦
부호화-크기 표현(signed-magnitude representation)
n비트수에서 최상위 비트(MSB)를 부호로 사용
나머지 (n-1) 비트는 수의 크기로 사용
◦
1의 보수 표현(1's complement representation)
◦
2의 보수 표현(2's complement representation)
1의 보수(1's complement) 표현
◦
모든 비트들을 반전 (0 → 1, 1 → 0)
2의 보수(2's complement) 표현
◦
모든 비트들을 반전하고, 결과값에 1을 더한다
2의 보수로 표현된 n비트 수의 범위 -2
n-1≤ N ≤ 2
n-1-1
예제는 따로
5
소수점 이하의 십진수값을 이진수로의 표현
◦ 정수부분의 변환은 기존과 동일
◦ 소수점 이하의 십진수는 연속적으로 2곱셈
(13.625)10
를 이진수로 변환
◦ 1 단계: 13을 이진수로 변환 (13)10 = (1101)2
◦ 2 단계: 0.625의 이진수 변환 (0.625)10 = (0.101)2
◦ 3 단계 : (13.625)10 = (1101)2 + (0.101)2 = (1101.101)2
0.50 X 2 =1.00 0.25 X 2 =0.50
0.625 X 2 =1.25 1 0 1
.1 0 1
자리 올림수
MSB LSB
고정소수점(fixed-point)표현 방식
1010.1010 = 24 + 21 +2-1 + 2-3 = 10.625
매우 큰 수 및 매우 작은 수의 표현이 불가능
부동소수점(floating-point)의 표현
과학적 표기의 지수(exponent)를 사용하여 소수점의 위치를 이동시 킬 수 있는 표현 방법
표현의 범위가 확대
십진수에 대한 부동소수점 표현 예
176,000 = 1.76 × 105 176,000 = 17.6 × 104 0.000176 = 1.76 × 10-4 0.000176 = 17.6 × 10-5
7
부동소수점 수(floating-point number)의 표현법
± M × B± E
±는 부호로서 + 혹은 –을 나타낸다. M은 가수(mantissa), B는 기수 (base), E는 지수(exponent)
2진 부동소수점 수(binary floating-point number)
가수 M은 0과 1로 구성, 기수 B는 2 +1.100101 × 23
비트 수에 따른 분류
단일-정밀도(single-precision) 부동소수점 수 : 32비트 복수-정밀도(double-precision) 부동소수점 수 : 64 비트
8
단일-정밀도 부동소수점 수 형식
부호 필드(S) 1비트, 지수필드(E) 8비트, 가수필드(M) 23비트
필드에 비트할당 문제
표현하는 수의 범위와 정밀도를 결정
지수(E) 필드의 비트 수가 늘어나면, 소수점을 이동시키는 범위가 커져서 표현 가능한 수의 범위가 확장
가수(M) 필드의 비트 수가 늘어나면, 이진수로 표현할 수 있는 수가 많아져서 정밀도(precision)가 증가
31 30 23 22 0
S필드 지수(E) 필드 가수(M) 필드
9
부동소수점의 수를 통일되게 표현하는 방법
± 0.1bbb...b × 2E
정규화된 표현의 단일 정밀도 부동소수점의 수 배열
0.1001 × 25 부호(S) 비트 = 0
지수(E) = 00000101
가수(M) = 1001 0000 0000 0000 0000 000
S필드 지수(E) 필드 가수(M) 필드
0 00000101 1001 0000 0000 0000 0000 000