10진수 → 2진수 변환기

→
2진수 = 10진수를 2로 계속 나누어 나머지를 아래에서 위로 읽기

10진수 → 2진수: 기계가 숫자를 담는 방식 그대로 쓰기

이 변환이 하는 일

10진수 숫자를 0과 1만으로 다시 씁니다. 모든 정수는 2진수 표현을 단 하나만 가지며 어느 방향으로도 정보가 사라지지 않습니다. 그래서 이 변환은 근사가 아니라 표기를 바꾸는 일입니다. 서른 자리 숫자에도 정확한 답을 약속할 수 있는 이유이고, 부동소수점 계산기에는 그 약속을 할 수 없습니다.

나머지를 거꾸로 읽는 이유

나누기 방법은 최하위 비트를 먼저 만들어 내므로 나머지 목록을 아래에서 위로 읽어야 합니다. 적힌 순서대로 읽는 것이 손 계산에서 가장 흔한 실수이고, 156을 10011100이 아니라 00111001로 만듭니다. 나머지 하나하나가 실제 자릿수이며 나눗셈 횟수는 결과의 비트 길이와 정확히 같습니다.

10진수 → 2진수 변환표

프로그래밍에서 가장 자주 만나는 작은 10진수와 그 2진수 표기입니다. 외워 둘 값은 2의 거듭제곱뿐이고 나머지는 거기서 따라 나옵니다.

10진수2진수
00
11
7111
81000
101010
151111
1610000
3111111
641000000
1001100100
1271111111
20011001000
25511111111
10001111101000

의식하지 못하는 사이 만나는 2진수

파일 권한, 네트워크 마스크, 기능 플래그 레지스터, 이미지 채널은 모두 더 친절한 표기를 입은 2진수입니다. 156을 10011100으로 읽으면 최상위 비트와 가운데 네 비트가 켜졌다는 사실이 즉시 보입니다. 상태 레지스터가 이상할 때 실제로 알고 싶은 정보가 바로 그것입니다.

손가락으로 정확하게 세기

빠른 답이 필요하면 들어가는 가장 큰 2의 거듭제곱을 빼기를 반복합니다. 156 − 128 = 28, 28 − 16 = 12, 12 − 8 = 4, 4 − 4 = 0이므로 128 + 16 + 8 + 4 = 10011100입니다. 자리가 있거나 없거나 둘 중 하나인 기수라서 이 방법이 통합니다.

자주 묻는 질문

10진수를 2진수로 손으로 바꾸려면 어떻게 하나요?

2로 나눈 나머지를 적고 몫을 다시 2로 나누기를 몫이 0이 될 때까지 반복합니다. 나머지를 마지막 것부터 처음으로 읽으면 2진수가 됩니다. 156은 나머지가 0, 0, 1, 1, 1, 0, 0, 1이고 거꾸로 읽으면 10011100입니다.

10진수 하나에 2진수 자릿수가 몇 개나 필요하나요?

반으로 나눌 수 있는 횟수만큼, 즉 기수 2의 로그를 올림한 값입니다. 255까지는 8비트, 65535까지는 16비트, 약 43억까지는 32비트면 됩니다. 이 도구는 고정 폭으로 채우지 않고 실제 길이를 그대로 보여줍니다.

일반 계산기보다 큰 수도 변환되나요?

됩니다. 일반 계산기는 2의 53제곱을 넘으면 부동소수점으로 전환해 반올림을 시작하지만, 이 도구는 정수 연산만 사용하므로 64비트 값도 모든 자릿수가 정확하게 나옵니다.

음수는 어떻게 표시되나요?

2진수 앞에 마이너스 기호를 붙이는 부호-크기 방식입니다. 2의 보수는 비트 폭을 정해야만 의미가 생기는 다른 규약이라 여기서는 쓰지 않습니다. 32비트 2의 보수 표현이 필요하다면 코드에서 직접 지정하세요.

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

됩니다. 정수부는 정확히 변환되고 소수부는 자리마다 전개하다가 나머지가 0이 되면 멈춥니다. 10진수 0.1 같은 값은 2진법에서 전개가 끝나지 않으므로 결과를 잘라서 보여주고, 완전한 답인 척하지 않는다고 화면에 표시합니다.

아래 코드를 복사하여 웹사이트에 붙여넣으면 이 변환기를 추가할 수 있습니다.

<!-- 10진수를 2진수로 -->
<iframe src="https://unitflow.net/ko/embed/decimal-to-binary" title="10진수를 2진수로" width="100%" height="420" loading="lazy" style="border:0;max-width:100%;display:block"></iframe>
<p><a href="https://unitflow.net/ko/decimal-to-binary" target="_blank" rel="noopener">UnitFlow 제공</a></p>