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

by Blogger 하얀쿠아
2011. 7. 22. 16:25 소프트웨어 Note/Algorithm

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자리로 만든 것이다.





이 댓글을 비밀 댓글로
    • sellester
    • 2011.10.25 13:15
    틀렸음 512부터 시작합니다.
    • 1024부터 시작하거나 512부터 시작하거나 구하는 2진수의 자리수만 다를뿐, 구해지는 2진수는 같지 않은가요?

      1024부터 시작하면 0100101100
      512부터 시작하면 100101100

      이렇게 구해지는 것이지 않나요.
    • 정말감사합니다.
    • 2014.04.08 09:44
    힌트를 얻어서 풀게 되었습니다. 감사합니다 ㅋㅋㅋ