진법 변환기

정수를 2진수, 8진수, 10진수, 16진수로 한 번에 바꾸고, 고른 진법으로 사칙연산과 비트 연산까지 하는 무료 진법 변환기입니다.

진법 변환

변환 결과

2진수 (BIN)
1111 1111
8진수 (OCT)
377
10진수 (DEC)
255
16진수 (HEX)
FF

진법 계산

계산 결과

1 0000
10진수 (DEC)
16

사용 방법

  • ‘진법 변환’에 수를 넣고 그 수의 진법을 고르면 2진수, 8진수, 10진수, 16진수 값이 바로 나옵니다. 3진수나 36진수처럼 다른 진법(2~36)을 고르면 그 진법의 값도 함께 보여 줍니다.
  • 영문자는 대소문자를 가리지 않고, 공백과 밑줄(_)은 무시합니다. 고른 진법에 맞는 앞 표기(2진수 0b, 8진수 0o, 16진수 0x)는 붙인 채로 넣어도 됩니다.
  • ‘진법 계산’에서는 2·8·10·16진수 중 하나를 고르고 두 수와 연산을 정하면 결과를 그 진법과 10진수로 함께 보여 줍니다. 나눗셈은 몫과 나머지를 같이 보여 줍니다.
  • 2진수 결과는 읽기 쉽게 오른쪽부터 4자리씩 띄어 보여 줍니다. 공백은 무시되므로 이 값을 그대로 복사해 다시 넣어도 같은 수로 읽힙니다.

진법 변환 원리

  • N진법에서는 오른쪽 끝 자리부터 1, N, N², N³…의 자리값을 가집니다. 10진수 352 = 3×100 + 5×10 + 2×1처럼, 다른 진법도 같은 원리로 읽습니다.
  • N진수를 10진수로: 각 자리 숫자에 자리값을 곱해 모두 더합니다. 1011₂ = 1×8 + 0×4 + 1×2 + 1×1 = 11
  • 10진수를 N진수로: 몫이 0이 될 때까지 N으로 나누기를 반복하고, 나머지를 마지막 것부터 거꾸로 읽습니다.
  • 16진수는 0~9 다음에 A(10)~F(15)를 쓰고, 36진수는 Z(35)까지의 영문자를 숫자로 씁니다. 2AF₁₆ = 2×256 + 10×16 + 15 = 687
  • 2진수 4자리는 16진수 1자리, 3자리는 8진수 1자리에 해당하므로 2진수와 16진수·8진수 사이는 자리를 묶기만 하면 됩니다. 1111 1111₂ = 377₈ = FF₁₆ = 255

단계별 예시: 10진수 200을 2진수와 16진수로

  • 1단계, 2로 나눕니다: 200 ÷ 2 = 100 나머지 0, 100 ÷ 2 = 50 나머지 0, 50 ÷ 2 = 25 나머지 0, 25 ÷ 2 = 12 나머지 1
  • 2단계, 몫이 0이 될 때까지 계속합니다: 12 ÷ 2 = 6 나머지 0, 6 ÷ 2 = 3 나머지 0, 3 ÷ 2 = 1 나머지 1, 1 ÷ 2 = 0 나머지 1
  • 3단계, 나머지를 마지막 것부터 읽으면 11001000이므로 200 = 1100 1000₂입니다.
  • 4단계, 2진수를 4자리씩 묶으면 1100 = C, 1000 = 8이라 16진수로 C8이고, 3자리씩 묶으면 11, 001, 000이라 8진수로 310입니다.
  • 검산: C8₁₆ = 12×16 + 8 = 200, 310₈ = 3×64 + 1×8 + 0 = 200

진법 계산 예시

  • 1010₂ + 0110₂ = 1 0000₂ (10진수로 10 + 6 = 16)
  • 1111₂ ÷ 100₂ = 몫 11₂, 나머지 11₂ (10진수로 15 ÷ 4 = 몫 3, 나머지 3)
  • 1100₂ AND 1010₂ = 1000₂, OR는 1110₂, XOR는 110₂ (10진수로 8, 14, 6)
  • A5₁₆ XOR FF₁₆ = 5A₁₆ (10진수로 165 XOR 255 = 90). FF와 XOR하면 아래 8비트가 모두 뒤집힙니다.
  • FF₁₆ + 1 = 100₁₆ (10진수로 255 + 1 = 256)

알아 두면 좋은 점

  • 음수는 부호를 붙인 채 변환합니다(−5 → −101₂). 8비트 2의 보수 표기가 필요하면 256 − 5 = 251을 변환해 1111 1011₂(FB₁₆)를 얻고, 16비트라면 65536 − 5 = 65531(FFFB₁₆)을 변환합니다.
  • 앞 표기는 고른 진법과 맞을 때만 떼어 냅니다. 16진수를 고른 상태에서 0b11을 넣으면 B11₁₆(10진수 2833)로 읽히므로, 2진수 값은 2진수를 고르고 넣으세요.
  • 나눗셈의 몫은 0 쪽으로 버리고, 나머지의 부호는 첫 번째 수를 따릅니다. −7 ÷ 2 = 몫 −3, 나머지 −1
  • 정수만 받으며, 소수점이 있으면 정수만 입력할 수 있다고 알려 줍니다. 대신 자릿수 제한이 없어 아주 긴 수도 오차 없이 계산합니다.

자주 묻는 질문

2진수를 10진수로 어떻게 바꾸나요?

‘진법 변환’에서 2진수를 고르고 수를 넣으면 10진수 값이 바로 나옵니다. 직접 계산하려면 오른쪽 끝 자리부터 1, 2, 4, 8…을 곱해 더하면 되며, 1011₂ = 8 + 2 + 1 = 11입니다.

10진수를 16진수로 바꾸는 방법은 무엇인가요?

16으로 나누기를 반복하고 나머지를 거꾸로 읽으면 됩니다. 200 ÷ 16 = 12 나머지 8, 12 ÷ 16 = 0 나머지 12(C)이므로 200 = C8₁₆입니다.

16진수 FF는 10진수로 얼마인가요?

255입니다. F는 15이므로 FF₁₆ = 15×16 + 15 = 255이고, 2진수로는 1111 1111입니다.

음수도 변환할 수 있나요?

네, 맨 앞에 −를 붙이면 −FF₁₆ = −255처럼 부호를 그대로 붙여 변환합니다. 8비트나 16비트 같은 고정 길이의 2의 보수 표기로는 바꾸지 않으므로, 필요하면 256 − 5 = 251처럼 2의 거듭제곱에서 뺀 값을 변환하세요.

음수로 AND, OR, XOR를 하면 어떻게 되나요?

음수를 왼쪽으로 1이 끝없이 이어지는 2의 보수로 보고 계산합니다. 예를 들어 −5 AND 3 = 3, −1 XOR 5 = −6이며, 이때 결과 아래에 이 처리 방식을 안내합니다.

소수점이 있는 수도 변환되나요?

아니요, 정수만 변환합니다. 대신 자릿수 제한 없이 아주 긴 정수도 오차 없이 정확하게 바꿉니다.

몇 진법까지 변환할 수 있나요?

2진법부터 36진법까지 변환할 수 있습니다. 10 이상의 숫자는 A(10)부터 Z(35)까지 영문자로 쓰며, 예를 들어 ZZ₃₆ = 1295입니다. 진법 계산은 2·8·10·16진수에서 할 수 있습니다.