ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • r's complement number & (r-1)'s complement
    아무거나적어~ 2022. 1. 23. 18:36

    요약

    radix가 r인(r based) number system에서 N(r)의 자릿수를 d 라고 하자. 그러면
    $$
    \begin{align*}
    \text{(r-1)'s complement number of N(r)} &= r^{d}-N(r)-1 \\
                                              &= \underset{d}{\underbrace{(r-1)..(r-1)}}(r) \\
                                              &= \text{maximun number of d digits which on the r based}-N(r) \\
    \text{r's complement number of N(r)}&= r^{d}-N(r) \\
                                        &= (1\underset{d}{\underbrace{00..00}}-N)r \\
                                        &= \text{(r-1)'s complement number of N(r)}+1 \\
    \end{align*}
    $$


    ※ radix 가 먼저 정의되고 complement number 가 정의되는것이다. 예를 들어
    3진법에서 two's complement 와 2진법에서의 two's complement 는 다르다!
    ex)
    two's complement of 11(3) base on 3 = 22(3)
    two's complement of 11(3) base on 2 = 01(3)

     

    배경지식

    진법 표기

    어떤 수 N 이 r 진법임을 표기하고 싶을 때
    N(r) 로 표기한다
    ※ (N)r 로 표기하기도 한다
    ※ 10진법은 진법을 나타내는 부분을 생략하여 주로 사용한다. N(10) 대신 주로 N 으로 쓴다.
    ※ r 은 radix(the base of a system of numeration, '몇 진법' 할때 '몇'에 해당하는 수가 radix)의 약자

    ex)
    7(10)의 2진표현 111은 다음과 같이 표현한다
    111(2)

     

    수의 자릿수(number of digits)

    수를 표현하기 위해 사용된 기호(digit)의 개수를 '자릿수'라고 한다

    ex)
    2232 는 4자릿수
    1010(2) 는 4자릿수

     

    (r-1)의 보수( (r-1)'s complement number)

    r based number system 에서 어떤 수 N(r) 의 (r-1)'s complement number 는 다음과 같이 정의한다
    d는 N의 자릿수라고 하자.
    $$r^{d}-N(r)-1$$
    ※ N(r)은 r 진법, $r^{d}$는 10진법으로 나타낸 수이다. r 진법으로 표기하면 $(1\underset{d}{\underbrace{00..00}})r$
    ※ $r^{d}-1 = \underset{d}{\underbrace{(r-1)..(r-1)}}(r)$ 즉, $r^{d}-1$ 은 r 진법에서 d 자릿수의 최대 수이다
    ※ (r-1)'s  complement number of N(r) 은 d 자릿수의 최대 수에서 N(r) 을 뺀 수이다
    ※ (r-1)'s  complement number 은 아래 그림과 같은 내림연산(?)이 없기 계산이 굉장히 쉽다

    borrow doesn't exist

     

    ex)
    9's complement number of 8123 on the base on 10 = 1876 ∵ 9999-8123
    1's complement number of 11011(2) on the base on 2 = 00100(2) ∵ (11111-11011)2

     

    r의 보수(r's complement number)

    r based number system 에서 어떤 수 N(r) 의 r's complement number 는 다음과 같이 정의한다
    d는 N의 자릿수라고 하자.
    $$r^{d}-N(r)$$
    ※ 정의에 의해 r's complement number 는 (r-1)'s complement number + 1 로 구한다
    ※ 물론, 정의 그대로 계산해도 상관 없다

    ex)
    10's complement number of 8123 on the base on 10 = 1877
    1's complement number of 11011(2) on the base on 2 = 00101(2)

     

    출처

    '아무거나적어~' 카테고리의 다른 글

    If vs Switch  (0) 2022.01.24
    2의 보수를 이용한 음의정수 표현  (0) 2022.01.24
    크롬 다크모드  (0) 2021.11.21
    같이하는 버추얼 만드는법  (0) 2021.11.02
    ICPC, IUPC 후기  (0) 2021.10.08

    댓글

Designed by Tistory.