본문 바로가기
전공수업/컴퓨터 구조

데이터의 2진수 표현

by wonseok99 2019. 10. 30.

일반적인 컴퓨터 같은 디지털 장치에서는 2진법을 사용해 수를 표현합니다. 2진수는 0,1,부호 및 소수점의 기호를 이용하여 수를 표현합니다.

[부호가 없는 2진 정수의 표현]

(13)10 =  (1101)2

부호를 갖는 정수와 소수를 표현하기위해서는  추가로 부호와 소수점 기호를 사용해야합니다. 또한 소수를 효율적으로 표현하는 방법으로는 부동소수점을 표현하는 방법도 있습니다.

[부호가 있는 2진 정수의 표현]

부호가 있는 2진 정수의 표현 방법으로는 3가지가 있습니다. 

  1. 부호화-크기 표현
  2. 1의 보수 표현
  3. 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진수의 표현 범위는 부호를 표현하는 방법에 따라 차이가 난다. 

한빛아카데미 컴퓨터 구조와 원리 p,77~78

 

  • 부호화-크기표현 : -( 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