본문 바로가기
👩🏻‍💻 Computer Science

진법의 사칙연산, 2진수를 중심으로

by iirin 2023. 1. 2.

진법 계산 방법

숫자인 진법을 익힌 뒤 가장 기본적인 활용 방식인 사칙연산(+, -, *, /) 방법을 정리해보았다.

가장 익숙한 10진수의 사칙연산 원리를 다시 되짚고 뺄셈, 곱셈, 나눗셈을 가장 간단한 진법인 2진법으로 고민해보았다.

다른 진수도 같은 원리로 작동할 것이다.

 

➕ 덧셈

10진수의 덧셈

     44
+   86
――――
    130   

10 진수에서 덧셈을 할 때에 1의 자리부터 가장 왼쪽 자리수까지 각 자리 수를 더한다. 각 덧셈 결과로 어떤 자리수가 10 이상일 경우, 해당의 자리에서 -10을 하고 바로 윗자리수에 +1 을 해준다.

 

2진수의 덧셈

예시로 1101 (2) + 10111 (2) 를 계산해보자. 2를 넘는 자리수에 2를 빼고 바로 윗자리에 1을 더해주면 다음과 같이 결과가 나온다.

   01101 (2)
+ 10111 (2)
―――――
   11212 (2)
➡️ 100100 (2)

 

➖ 뺄셈

10진수의 뺄셈

     80
-   32
――――
    48  

10진수에서 뺄셈은 1의 자리수부터 순서대로 뺀다. 위의 경우처럼 1의 자리수 뺄셈의 결과가 - 값이 나온다면, 바로 윗자리수에서 -1 을 하고 10 만큼 1의 자리수로 더해 계산해준다.

 

2진수의 뺄셈

예시로 10111 (2) - 1101 (2)를 계산해보자. 10의 진수와 똑같은 원리로 - 결과 값이 나온다면, 바로 윗자리수에서 빌려와 계산하면 된다.

   10111 (2)
-   1101 (2)
―――――
   1(-1)010 (2)
➡️ 1010 (2)

 

✖ 곱셈

10진수의 곱셈

     54
+   26
――――
     24
   300
     80
 1000
――――
1404

10 진수에서 곱셈을 할 때 1의 자리수부터 각 모든 자리수를 곱해준다. 단, 자리수가 올라갈 수록 결과값 뒤에 0을 붙여 자리수를 올려준다.

그 후 모든 결과값을 더해주면 된다.

 

2진수의 곱셈

예시로 1010 (2) * 1100 (2)를 계산해보자. 10의 진수와 똑같은 원리로 계산할 수 있다.

     1010 (2)
-   1100 (2)
―――――
     0000
   00000
  101000
1010000
―――――
1111000 (2)

 

➗ 나눗셈

10진수의 나눗셈

       0214
     _______
41 | 8810
       82
     ――――
         61
         41
     ――――
         200
         164
     ――――
           36

맨 앞자리부터 나누려고 하는 숫자(41)로 몇 번 나누어지는지 적고, 해당 자리수에서 빼준다. 그 다음 아래 자리수로 넘어가 몇 번 나누어지는지 적고 빼기를 더이상 나누려고 하는 숫자가 들어갈 수 없을 때까지 적는다.

 

2진수의 나눗셈

                10111
         _________
1001 | 11010111
           1001
         ―――――
            10001
              1001
         ―――――
              10001
                1001
         ―――――
                10001
                  1001
         ―――――
                  1000

10진수 나눗셈과 같은 원리로 나누어주었다.