제임스딘딘의
Tech & Life

개발자의 기록 노트/Algorithm

10진수를 2진수로 변환하는 알고리즘 (또다른 방법)

제임스-딘딘 2011. 7. 22. 16:25

10진수를 2진수로 변환하는 알고리즘 (또다른 방법)

우선 몇자리의 2진수를 만들것인지를 알아내거나 제시한다.

그리고, 기본적인 아래의 규칙 하나만 기억한다.

rule : 작으면 0 / 크거나 같으면 1


예를 들어보겠다. 10진수 600 10자리의 2진수로 만들 경우를 생각해보자.

10자리의 2진수로 만들 것이므로, 2의 10승 = 1024 부터 시작한다.

그 후, 2의 9승, 2의 8승... 2의 1승까지 차례로 rule대로 비교해 내려간다.

아래의 과정으로 간단하게 만들 수 있다.

600 이 1024보다 작으므로 0
600이 512보다 크거나 같으므로 1, 그리고 600 - 512 = 88
88이 256보다 작으므로 0
88이 128보다 작으므로 0
88이 64보다 크거나 같으므로 1, 그리고 88-64 = 24
24가 32보다 작으므로 0
24가 16보다 크거나 같으므로 1, 그리고 24-16 = 8
8이 8보다 크거나 같으므로 1, 그리고 8-8 = 0
0이 4보다 작으므로 0
0이 2보다 작으므로 0

마지막으로 붉은색 숫자를 위에서부터 아래 순서로 나열한다.

0100101100

이것이 600을 2진수 10자리로 만든 것이다.