MCP로 연결 →

계산 입력

공식

광고

결과

8진수 값 (밑 8)
56
from binary 101110
2진수 (밑 2) 101110
8진수 (밑 8) 56
10진수 (밑 10) 46

2진수 8진수 변환기란?

이 도구는 2진수(밑이 2, 0과 1만 사용)로 표기된 숫자를 8진수(밑이 8, 0~7 사용)로 변환해 줍니다. 8진수는 2진수를 간결하게 나타내는 방법으로, 2진수 세 자리가 정확히 8진수 한 자리에 대응하기 때문입니다. 이 변환기는 결과를 다시 확인할 수 있도록 10진수(밑이 10) 값도 함께 보여줍니다.

사용 방법

입력란에 101110 같은 2진수를 입력하고 실행하세요. 계산기는 모든 문자가 0 또는 1인지 검사한 뒤 8진수 값, 입력한 2진수, 그리고 10진수 값을 반환합니다. 앞자리 0은 자동으로 처리됩니다.

변환 공식 풀이

2³ = 8이므로 2진수 세 자리가 8진수 한 자리를 나타냅니다. 오른쪽 끝에서부터 2진수 문자열을 세 비트씩 묶고, 가장 왼쪽 그룹이 모자라면 0으로 채웁니다. 각 그룹은 \( d = 4 \cdot b_2 + 2 \cdot b_1 + b_0 \) 공식으로 변환하면 0부터 7까지의 값이 나옵니다. 이렇게 얻은 자릿값을 이어 붙이면 8진수가 완성됩니다.

$$\text{Octal} = \left( \text{Binary}_2 \right)_{2 \to 8}$$

$$\begin{gathered} \text{Octal}_8 = \sum_{i=0}^{k-1} g_i \cdot 8^{\,i} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{Binary} &= b_{n-1}b_{n-2}\cdots b_1 b_0 \;(\text{base }2) \\ g_i &= 4b_{3i+2} + 2b_{3i+1} + b_{3i} \\ k &= \lceil n/3 \rceil \text{ groups of 3 bits} \end{aligned} \right. \end{gathered}$$

광고
오른쪽부터 세 자리씩 묶은 2진수, 각 묶음이 하나의 8진수 숫자에 대응
2진수 숫자를 (오른쪽부터) 세 자리씩 묶고, 각 묶음을 하나의 8진수 숫자로 변환합니다.

예제로 풀어보기

101110을 예로 들어 보겠습니다. 오른쪽부터 세 자리씩 나누면 101110이 됩니다. 첫 번째 그룹은 \( 4 \cdot 1 + 2 \cdot 0 + 1 \cdot 0 = 5 \), 두 번째 그룹은 \( 4 \cdot 1 + 2 \cdot 1 + 1 \cdot 0 = 6 \)입니다. 따라서 8진수 결과는 56입니다. 확인 차원에서 10진수 값을 계산하면 \( 32 + 8 + 4 + 2 = 46 \)이 됩니다.

2진수를 8진수로 변환하는 3단계 예제
예제의 단계별 묶기: 0 채우기, 세 자리씩 묶기, 각 세 자리 변환하기.

이진수에서 8진수로 변환 표

이진수에서 8진수로의 변환이 가능한 이유는 \(8 = 2^3\)이기 때문입니다. 각 8진 숫자는 정확히 3개의 이진 숫자 그룹(3비트)에 대응됩니다. 변환하려면 이진수를 오른쪽부터 3비트 단위로 나누고, 필요하면 왼쪽 그룹을 0으로 채운 후, 각 3비트 그룹을 아래의 해당하는 8진 숫자 하나로 바꾸면 됩니다.

3비트 이진수(3비트 그룹) 8진 숫자 10진 값
000 0 0
001 1 1
010 2 2
011 3 3
100 4 4
101 5 5
110 6 6
111 7 7

각 3비트 그룹은 자리수 값 \(4,\ 2,\ 1\) (즉, \(2^2, 2^1, 2^0\))로 읽습니다. 예를 들어, \(101_2 = 1\times4 + 0\times2 + 1\times1 = 5\)이므로 8진 숫자는 \(5\)입니다.

광고

더 많은 풀이 예제

예제 1: \(11_2\) → 8진수

오른쪽부터 3비트 단위로 나누고 왼쪽을 0으로 채웁니다: \(11 \to 011\).

$$011_2 = 0\times4 + 1\times2 + 1\times1 = 3$$

\(11_2 = \)3\(_8\). 10진수 값은 3입니다.

예제 2: \(11010110_2\) → 8진수

오른쪽부터 3비트 단위로 나누고 왼쪽 그룹은 0으로 채웁니다: \(11\,010\,110 \to 011\,010\,110\).

3비트 그룹 011 010 110
8진 숫자 3 2 6

왼쪽에서 오른쪽으로 숫자를 읽으면 \(11010110_2 = \)326\(_8\). 10진수 값은 214입니다.

예제 3: 더 긴 문자열 \(101110011001_2\)

이것은 12비트이고 이미 3의 배수이므로 패딩이 필요하지 않습니다. 오른쪽부터 나눕니다:

3비트 그룹 101 110 011 001
8진 숫자 5 6 3 1

따라서 \(101110011001_2 = \)5631\(_8\). 10진수로 같은 값을 확인하면 2969입니다.

자주 묻는 질문

왜 세 자리씩 묶나요? \( 8 = 2^3 \)이므로 8진수 한 자리가 정확히 세 비트를 나타냅니다. 덕분에 변환이 깔끔하고 손실 없이 이루어집니다.

자릿수가 3의 배수가 아니면 어떻게 되나요? 왼쪽에 0을 채워 넣습니다. 이렇게 해도 값은 변하지 않습니다.

소수점을 입력할 수 있나요? 이 변환기는 2진수 정수만 처리합니다. 변환하기 전에 소수 부분은 제거해 주세요.

최종 업데이트: