일반적인 컴퓨터 같은 디지털 장치에서는 2진법을 사용해 수를 표현합니다. 2진수는 0,1,부호 및 소수점의 기호를 이용하여 수를 표현합니다.
[부호가 없는 2진 정수의 표현]
(13)10 = (1101)2
부호를 갖는 정수와 소수를 표현하기위해서는 추가로 부호와 소수점 기호를 사용해야합니다. 또한 소수를 효율적으로 표현하는 방법으로는 부동소수점을 표현하는 방법도 있습니다.
[부호가 있는 2진 정수의 표현]
부호가 있는 2진 정수의 표현 방법으로는 3가지가 있습니다.
- 부호화-크기 표현
- 1의 보수 표현
- 2의 보수 표현
1 ] 부호화-크기의 표현
가장 단순하게 부호를 표현하는 방법으로 n비트로 구성된 2진수에서 n-1번째, 즉 최상위 비트는 부호 비트이고, 나머지 비트들은 수의 절대크기를 나타냅니다.
(9)10 = (0[+] 000 1001)2 = ( -1 )^0 * (0*2^6+ ... + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1
(-9)10 = (1[+] 000 1001)2 = ( -1 )^1 * (0*2^6+ ... + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1
부호화-크기의 방법은 간단하게 부호를 표현가능하지만, 덧셈뺄셈 연산을 할 경우 부호 비트와 크기 부분을 별도로 처리해야 하며 2개의 0이 존재하므로 표현의 수가 한개 줄어듭니다. [ 중복 ]
(0 000 0000)2 = (+0)10
(1 000 0000)2 = (-0)10
2 ] 1의 보수 표현, 2의 보수 표현
2진수의 1의 보수 표현은 각 자리의 숫자에서 1을 뺀것이고, 2의 보수의 표현은 이에 1을 더한것입니다. 한마디로 모든 비트를 0->1, 1->0 으로 반전한것입니다.
(127)10 = (0111 1110)2 -> (1000 0001)2 [ 1의 보수 ] // (1000 0010)2 [ 2의 보수 ]
3 ] 세 가지 표현방법의 예
- (9)10 = (0[+] 000 1001)2 - 부호화-크기의 표현
- (-9)10 = (1 111 0110)2 - 1의 보수 표현
- (-9)10 = (1 111 0111)2 - 2의 보수 표현
[ 비트별 2진수의 표현 범위 ]
부호가 있는 2진수의 표현 범위는 부호를 표현하는 방법에 따라 차이가 난다.
- 부호화-크기표현 : -( 2^7 - 1 ) ~ +( 2^7 - 1 )
- 1의 보수 : -( 2^7 - 1 ) ~ +( 2^7 - 1 )
- 2의 보수 : -( 2^7 ) ~ +( 2^7 - 1 )
2의 보수는 -0 이 존재하지않아 -127보다 하나 더, -128까지 표현이 가능하다.
'전공수업 > 컴퓨터 구조' 카테고리의 다른 글
조합 논리회로 (0) | 2019.11.13 |
---|---|
부울대수 (0) | 2019.10.30 |
제 1장] 컴퓨터 구조 (0) | 2019.10.10 |