800===Dev Docs and License/정보처리기사

숫자 탐험: 10진수와 2진수, 쉽고 재미있게 넘나들기!

블로글러 2025. 4. 19. 10:42

안녕하세요! 디지털 세상을 살아가는 우리, 컴퓨터가 '0'과 '1'로 이루어진 언어, 즉 2진수를 사용한다는 이야기, 많이 들어보셨죠? 우리가 일상에서 사용하는 10진수와는 다른 이 숫자 체계가 가끔은 낯설고 어렵게 느껴질 수 있습니다.

하지만 걱정 마세요! 오늘은 10진수를 2진수로, 또 2진수를 10진수로 아주 쉽고 간단하게 변환하는 방법들을 알아보겠습니다. 마치 다른 언어를 배우듯, 숫자들의 세계를 넘나드는 재미를 느껴보세요!

왜 변환 방법을 알아야 할까요?

  • 컴퓨터의 언어 이해: 프로그래밍이나 컴퓨터 구조를 공부할 때 필수적입니다.
  • 디지털 원리 파악: 디지털 데이터가 어떻게 표현되고 저장되는지 이해하는 데 도움이 됩니다.
  • 문제 해결 능력 향상: 논리적 사고와 수리적 감각을 키울 수 있습니다.

자, 그럼 첫 번째 변환 여행을 떠나볼까요?

여행 1: 10진수를 2진수로! (Decimal to Binary)

우리가 쓰는 익숙한 10진수를 컴퓨터의 언어인 2진수로 바꿔봅시다. 두 가지 쉬운 방법이 있어요!

방법 1: 2로 나누고 나머지 거꾸로 읽기 (가장 확실해요!)

가장 널리 쓰이고 어떤 숫자든 정확하게 바꿀 수 있는 방법입니다.

  1. 10진수를 2로 나눕니다.
  2. 몫과 나머지(0 또는 1)를 적어둡니다.
  3. 몫이 0이 될 때까지, 계속해서 몫을 2로 나눕니다. (나머지는 계속 적어두세요!)
  4. 마지막 나머지부터 처음 나머지 순서로, 거꾸로 읽으면 그게 바로 2진수!

예시: 10진수 13을 2진수로

13 ÷ 2 = 몫 6, 나머지 1
 6 ÷ 2 = 몫 3, 나머지 0
 3 ÷ 2 = 몫 1, 나머지 1
 1 ÷ 2 = 몫 0, 나머지 1  <-- 몫이 0! 멈춤!

나머지를 아래에서 위로 읽으면? 👉 1101
네, 10진수 13은 2진수로 1101 입니다! 쉽죠?

방법 2: 2의 거듭제곱 빼기 (직관적이고 빨라요!)

2의 거듭제곱(1, 2, 4, 8, 16, 32...)에 익숙하다면 이 방법이 더 빠르게 느껴질 거예요.

  1. 바꿀 10진수보다 작거나 같은 가장 큰 2의 거듭제곱 값을 찾습니다.
  2. 찾은 값을 10진수에서 빼고, 해당 거듭제곱 자리에 '1'을 표시합니다.
  3. 뺀 결과 값을 가지고 0이 될 때까지 1, 2번을 반복합니다.
  4. 쓰이지 않은 거듭제곱 자리에는 '0'을 채웁니다.

예시: 10진수 13을 2진수로

  • (2의 거듭제곱: ..., 16, 8, 4, 2, 1)
  • 13 >= 8 ($2^3$) ? 네! -> 13 - 8 = 5. (자릿값: 1 _ _ _)
  • 5 >= 4 ($2^2$) ? 네! -> 5 - 4 = 1. (자릿값: 1 1 _ _)
  • 1 >= 2 ($2^1$) ? 아니오! (자릿값: 1 1 0 _)
  • 1 >= 1 ($2^0$) ? 네! -> 1 - 1 = 0. (자릿값: 1 1 0 1)

모든 자리가 채워졌네요! 결과는 역시 1101 입니다.

여행 2: 2진수를 10진수로! (Binary to Decimal)

이번엔 반대로, 컴퓨터의 언어 2진수를 우리가 쓰는 10진수로 바꿔봅시다. 이건 더 간단해요!

핵심 방법: 자릿값(2의 거듭제곱)을 더하기!

2진수의 각 자리는 오른쪽부터 $2^0(1), 2^1(2), 2^2(4), 2^3(8)...$의 값을 가집니다. '1'이 있는 자리의 값들만 모두 더하면 끝!

  1. 2진수 각 자리 위에 해당하는 자릿값(2의 거듭제곱)을 적습니다. (오른쪽부터 1, 2, 4, 8...)
  2. 2진수 숫자가 '1'인 곳의 자릿값만 골라냅니다.
  3. 골라낸 자릿값들을 모두 더합니다.

예시: 2진수 1101을 10진수로

  자릿값:   8   4   2   1   (2^3, 2^2, 2^1, 2^0)
  2진수:    1   1   0   1
-----------------------------
  '1'인 곳 자릿값: 8,  4,     1

더해볼까요? 8 + 4 + 1 = 13

네, 2진수 1101은 다시 10진수 13으로 돌아왔습니다!

하나 더! 예시: 2진수 10110을 10진수로

  자릿값:  16   8   4   2   1   (2^4 ~ 2^0)
  2진수:    1   0   1   1   0
-----------------------------
  '1'인 곳 자릿값: 16,     4,  2

모두 더하면? 16 + 4 + 2 = 22
2진수 10110은 10진수로 22입니다!

마무리하며

어떠셨나요? 10진수와 2진수 사이를 오가는 변환, 생각보다 어렵지 않죠? 마치 새로운 외국어를 배우듯, 몇 번 연습하다 보면 금세 익숙해질 거예요.

오늘 배운 방법들을 통해 숫자 체계에 대한 이해를 넓히고, 컴퓨터와 디지털 세상에 한 걸음 더 가까워지는 계기가 되었기를 바랍니다!

 

 

#10진수 #2진수 #진수변환 #DecimalToBinary #BinaryToDecimal #컴퓨터과학기초 #숫자체계 #프로그래밍기초 #IT상식

728x90