진법 계산 방법
숫자인 진법을 익힌 뒤 가장 기본적인 활용 방식인 사칙연산(+, -, *, /) 방법을 정리해보았다.
가장 익숙한 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진수 나눗셈과 같은 원리로 나누어주었다.
- 🔗 이 블로그 연관 글
- 🙏 참고한 자료
- 코드스쿼드 CS16 교육 자료
- (상식) 컴퓨터에서 2진수, 8진수, 16진수를 쓰게 된 이유
- CS50 Lecture 1
- TCP school 진법