[Digital Systems] p59-60
https://midoriprogramming.tistory.com/3
[논리회로] 2진수에서 10진수로 전환하는 방법 (Binary to Decimal Conversion)
[Digital Systems] p.58 https://midoriprogramming.tistory.com/2 [논리회로] 디지털 수 체계 10진수와 2진수의 이해(Digital Number Systems - Decimal&Binary), 2진수 카운팅 [Digital Systems] p.39-43 ○ Dig..
midoriprogramming.tistory.com
지난 시간에 2진수를 10진수로 전환하는 방법에 대해서 알아봤다.
이번에는 10진수를 2진수로 전환하는 방법에 대해서 알아보겠다.
○ Decimal to Binary Conversion (10진수에서 2진수 전환)
● 1을 포함하는 자리수를 더하는 방법을 반대로 시행 (Reverse process summing the positions that contain a 1)
앞선 2진수를 10진수로 변환하는 방법에서 사용했던 방법을 반대로 시행하는 방법이다.
주어진 10진수 숫자를 2진수의 자리수 숫자의 합의 형태로 표현해준 후
각 자리수의 숫자가 있다면 해당 자리에 1, 없다면 0을 표시하는 방법이다.
글로 읽는 설명보다는 위의 과정을 직접 보는 것이 이해가 빠를 것이다.
예시1)
● 나누기 반복 (Repeated Division)
두번째 방법은 2로 나누는 것을 반복하는 방법이다.
- 주어진 10진수 숫자를 2로 나눈다. (Divide the decimal number by 2)
- 나머지가 있다면 1, 나머지가 없다면 0이다.
- 몫이 0이 될 때까지 반복한다.
- 첫번째 나머지는 LSB이고, 마지막 나머지는 MSB다.
예를 들어 25라는 10진수 숫자를 2진수 숫자로 바꿔준다면
25를 2로 나눈 몫 12와 나머지가 생긴다.
이때 나머지가 있다면 1, 나머지가 없다면 0으로 따로 표시를 해준다.
그리고 위에서 생긴 몫 12를 다시 2로 나눠주고 나머지를 표시한다.
몫이 0이 될 때까지 계속해서 반복한다.
마지막 나머지부터 첫번째 나머지 순으로 적어주면 2진수 숫자로 변경이 완료된다.
이 역시 말로 듣는 설명보다는 위의 예시를 직접 보는 것이 이해가 빠르다.
※ Flowchart for Repeated Division
10진수를 2진수로 바꾸는 알고리즘을 플로우 차트로 나타내보았다.
몫이 0이 될 때까지 반복하는 알고리즘이다.