2진수 변환기

2진수 변환기: 10진수·2진수·8진수·16진수 진법 변환

숫자를 입력하고 몇 진수인지 고르면 2진수, 10진수, 8진수, 16진수 값을 한 번에 보여 줍니다. 필요한 비트 수, 바이트 단위로 맞춘 2진수, 2로 계속 나누는 풀이 과정도 함께 나옵니다. 0 이상의 정수라면 자릿수에 상관없이 변환할 수 있습니다.

공백과 밑줄은 무시합니다. 0b, 0o, 0x 접두사도 입력할 수 있습니다.
2진수11111111
10진수255
8진수377
16진수FF
비트 수8
필요한 바이트 수1
바이트 단위로 맞춘 2진수1111 1111

11111111의 각 1은 2의 거듭제곱을 나타냅니다: 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255. 16진수는 비트를 4자리씩(1111 1111), 8진수는 3자리씩 묶은 것입니다.

10진수 → 2진수: 2로 계속 나누기
나눗셈몫나머지(비트)
255 ÷ 21271
127 ÷ 2631
63 ÷ 2311
31 ÷ 2151
15 ÷ 271
7 ÷ 231
3 ÷ 211
1 ÷ 201
나머지를 아래에서 위로 읽으면: 11111111

계산은 기기 안에서만 이루어집니다 · 공식은 알려진 값으로 검증했습니다 · 검증 방법 보기

사용 방법

숫자를 입력하고 그 숫자가 어떤 진법으로 쓰였는지(2진수, 8진수, 10진수, 16진수) 고른 뒤 변환을 누르세요. 같은 값이 네 가지 진법으로 한꺼번에 나오고, 각각 복사 버튼이 있습니다. 함께 필요한 비트 수, 왼쪽에 0을 채워 8비트(1바이트) 단위로 맞춘 2진수, 그리고 2진수가 아닌 숫자를 넣었을 때는 2로 계속 나누는 풀이 과정을 표로 보여 줍니다.

2진법의 원리: 자리값은 2의 거듭제곱

10진법에서는 한 자리 왼쪽으로 갈 때마다 자리값이 10배가 됩니다(일의 자리, 십의 자리, 백의 자리). 2진법에서는 2배씩 커져서 오른쪽부터 1, 2, 4, 8, 16, 32, 64, 128입니다. 2진수의 한 자리, 즉 비트는 0 아니면 1이므로 2진수는 어떤 2의 거듭제곱을 더할지 알려 주는 표시일 뿐입니다. 11111111은 8비트가 모두 1이라서 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255이고, 이것이 1바이트에 들어가는 가장 큰 수입니다. 그래서 256부터는 9비트가 필요합니다.

10진수를 2진수로 변환하는 방법

수를 2로 나누어 나머지(0 또는 1)를 적고, 몫을 다시 2로 나누는 일을 몫이 0이 될 때까지 반복합니다. 나머지를 아래에서 위로 읽으면 2진수가 됩니다. 37의 풀이:

  1. 37 ÷ 2 = 18, 나머지 1
  2. 18 ÷ 2 = 9, 나머지 0
  3. 9 ÷ 2 = 4, 나머지 1
  4. 4 ÷ 2 = 2, 나머지 0
  5. 2 ÷ 2 = 1, 나머지 0
  6. 1 ÷ 2 = 0, 나머지 1

마지막 나머지부터 읽으면 100101입니다. 검산: 32 + 4 + 1 = 37.

2진수를 10진수로 변환하는 공식

각 비트에 그 자리의 자리값(2의 거듭제곱)을 곱해 모두 더합니다. 101101에서 1이 있는 자리의 값은 32, 8, 4, 1이므로 32 + 8 + 4 + 1 = 45입니다. 식으로 쓰면 1×2⁵ + 0×2⁴ + 1×2³ + 1×2² + 0×2¹ + 1×2⁰이며, 0인 자리는 더할 것이 없으니 1인 자리만 세면 됩니다.

10진수·2진수·8진수·16진수 변환표

10진수2진수8진수16진수
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010
321000004020
64100000010040
100110010014464
12711111111777F
1281000000020080
25511111111377FF
256100000000400100
1,000111110100017503E8
1,024100000000002000400

2진수와 16진수·8진수: 자리를 묶어서 변환

16진수는 0~9와 10~15를 나타내는 A~F를 씁니다. 16 = 2⁴이므로 16진수 한 자리는 정확히 2진수 네 자리에 해당합니다. 2진수를 오른쪽부터 네 자리씩 끊어 각 묶음을 16진수 한 글자로 바꾸면 됩니다. 예를 들어 1010 0110은 A6이고, 1바이트는 언제나 16진수 두 자리(00~FF)입니다. 그래서 메모리 주소, MAC 주소, 웹 색상 #FF8800(빨강 FF, 초록 88, 파랑 00) 같은 값은 16진수로 씁니다.

8진수는 0~7을 쓰고 한 자리가 2진수 세 자리에 해당하므로 오른쪽부터 세 자리씩 묶습니다. 8진수 777은 2진수로 111 111 111, 10진수로 511, 16진수로 1FF입니다. 요즘은 리눅스의 파일 권한에서 자주 보이는데, chmod 755는 111 101 101, 곧 rwxr-xr-x를 뜻합니다.

예시: 16진수 FF를 모든 진법으로

F는 2진수로 1111이므로 FF는 11111111입니다. 2의 거듭제곱을 더하면 10진수로 255, 같은 비트를 오른쪽부터 세 자리씩 묶으면(011 111 111) 8진수로 377입니다. 비트 수는 8, 정확히 1바이트입니다.

8·16·32·64비트로 나타낼 수 있는 가장 큰 수

비트 폭최댓값16진수
8비트255FF
16비트65,535FFFF
32비트4,294,967,295FFFFFFFF
64비트18,446,744,073,709,551,615FFFFFFFFFFFFFFFF

n비트로는 0부터 2ⁿ − 1까지 2ⁿ가지 값을 나타낼 수 있습니다. 문자열을 컴퓨터용 인코딩으로 바꾸는 일은 진법 변환과 다르니, 그럴 때는 Base64 인코딩·디코딩처럼 문자용 도구를 쓰세요.

자주 묻는 질문

10을 2진수로 바꾸면?

10은 2진수로 1010입니다. 10 ÷ 2 = 5 나머지 0, 5 ÷ 2 = 2 나머지 1, 2 ÷ 2 = 1 나머지 0, 1 ÷ 2 = 0 나머지 1이므로 나머지를 아래에서 위로 읽으면 1010, 곧 8 + 2입니다.

음수는 2진수로 어떻게 나타내나요?

컴퓨터는 비트 수를 정해 두고 2의 보수를 씁니다. 절댓값의 모든 비트를 뒤집고 1을 더하는 방식으로, 8비트에서 −1은 11111111, −128은 10000000입니다. 부호 없는 255, 128과 같은 비트 배열이므로 비트 수와 표현 방식을 미리 정해야 합니다. 이 변환기는 0 이상의 정수만 다룹니다.

소수도 2진수로 바꿀 수 있나요?

이 도구로는 안 됩니다. 소수점 아래는 2의 음의 거듭제곱으로 나타내는데(2진수 0.1은 1/2, 0.01은 1/4), 10진수 소수 상당수는 2진수에서 끝나지 않습니다. 0.1은 0.000110011…로 이어지기 때문에 많은 프로그래밍 언어에서 0.1 + 0.2가 정확히 0.3이 되지 않습니다.

0b, 0o, 0x는 무슨 뜻인가요?

대부분의 프로그래밍 언어에서 진법을 나타내는 접두사입니다. 0b는 2진수, 0o는 8진수, 0x는 16진수이며 0b11111111, 0o377, 0xFF, 255는 모두 같은 수입니다. 변환기는 고른 진법의 접두사를 받아서 떼어 냅니다.

어떤 수를 나타내려면 몇 비트가 필요한가요?

그 수를 넘지 않는 가장 큰 2의 거듭제곱을 찾아 지수에 1을 더합니다. 255는 2⁸ = 256보다 작아서 8비트에 들어가고, 256은 9비트가 필요합니다. 「비트 수」 행이 이 값이고, 「필요한 바이트 수」는 이를 8비트 단위로 올림한 값입니다.

이 계산기를 내 사이트에 넣기

웹사이트나 블로그에 무료로 넣을 수 있습니다. 계산기를 표시할 위치에 아래 코드를 붙여 넣으세요.

최종 수정일: 2026년 10월 15일

메뉴

카테고리

금융·대출 계산기17가지 계산기비즈니스·쇼핑 계산기5가지 계산기건강·다이어트 계산기6가지 계산기수학·학습 계산기7가지 계산기날짜·시간 계산기5가지 계산기기념일·행사 디데이 카운트다운6가지 계산기생활에 유용한 계산기7가지 계산기

CalcWorthy

사이트 소개문의하기개인정보처리방침이용약관

언어

언어
한국어KoreanEnglishEnglishالعربيةArabicবাংলাBanglaDeutschGermanEspañolSpanishفارسیPersianFrançaisFrenchעבריתHebrewहिन्दीHindiBahasa IndonesiaIndonesianItalianoItalian日本語JapaneseBahasa MelayuMalayNederlandsDutchPolskiPolishPortuguêsPortugueseРусскийRussianไทยThaiTürkçeTurkishУкраїнськаUkrainianاردوUrduTiếng ViệtVietnamese简体中文Simplified Chinese