디지털 공학 Digital Fundamental

수 체계 - 2진수(Unsigned,signed) 10진수 16진수

sw_1500 2020. 3. 30. 10:45

수 체계 - 2진수(Unsigned,signed) 10진수 16진수

 - 10진수

 - 2진수 

 - 2진수의 보수

 - 2의 보수를 10진수로 변환 

 - Unsigned 와 signed의 표현 범위

 - 오버플로우

 - 16진수


10진수 (Decimal)

 - 10진수에서 사용하는 수(digit): 0~9

 - 가중치(weight)는 10

    ...10^2, 10^1, 10^0 . 10^-1, 10^-2 ...

 

2진수 (Binary)

 - 2진수에서 사용하는 수(digit): 0, 1

 - 가중치(weight)는 2

    2^n-1 , ... , 2^2, 2^1, 2^0 . 2^-1, 2^-2 ... 2^-n

 

2진수의 보수

 - 1의 보수

    2진수의 1의 보수(complement)는 1을 0으로, 0을 1로 변경한다. 

     1011 -> 0100  : 2진수 1011의 1의 보수는 0100 이다.

     (디지털회로에서 인버터(NOT 회로) 사용하는 것)

 - 2의 보수

   2진수의 2의 보수는 1의 보수의 LSB에 1을 더한다.

     1011 -> 0100 + 1 -> 0101 : 2진수 1011의 2의 보수는 0101이다.

     (디지털회로에서 인버터(NOT 회로)와 덧셈기를 사용하는 것)

 

  2의 보수를 10진수로 변환

    1) 보수로 바꾸고 계산

        ex. 110011의 10진수는?

             110011 2의 보수 : 001101 이므로 13이다.

             따라서 110011은 -13이다.

    2) MSB 가중치만 -로 하고 나머지 가중치는 그대로 사용

         ex. 110011의 10진수는?

              -32 + 16 +2 + 1 = -13

 

* 정리 표 

 

ex. Unsigned 01110   : 12

       Signed 01110        : 12

       Unsigned 10110   : 14

       Signed 10110         : -2

 

Unsigned 와 signed의 표현 범위

 

부호있는 수의 오버플로우 (Overflow)

 - 연산의 결과가 수의 표현 범위를 벗어날 경우 발생

 - 양수 + 양수 -> 음수

 - 음수 + 음수 -> 양수 

ex. 8비트의 경우

16진수

 - Digits

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