본문으로 건너뛰기
툴허브

진법 변환기

2·8·10·16진수와 2~36진법을 한 번에 변환합니다. 소수·순환소수, 2의 보수, IEEE 754, 풀이 과정까지

자릿수 묶기
예시

풀이 과정

정보처리기사·컴활 시험처럼 손으로 푸는 과정을 그대로 보여줍니다

정수 부분: 몫이 0이 될 때까지 나누기

173 ÷ 2= 86나머지1
86 ÷ 2= 43나머지0
43 ÷ 2= 21나머지1
21 ÷ 2= 10나머지1
10 ÷ 2= 5나머지0
5 ÷ 2= 2나머지1
2 ÷ 2= 1나머지0
1 ÷ 2= 0나머지1

나머지를 아래에서 위로 읽으면 → 10101101

부호 있는 정수 · 비트

8비트 — 부호 있는 범위 -128 ~ 127, 부호 없는 범위 0 ~ 255

2의 보수1010 11010xAD
1의 보수이 비트 수로 표현 불가
부호-크기이 비트 수로 표현 불가
부호 없음1010 11010xAD

비트 보기

비트를 누르면 0↔1이 바뀌고 값이 바로 갱신됩니다. 숫자는 비트 번호(0 = LSB)입니다.

맨 왼쪽 비트(MSB)가 부호 비트입니다. 음수이면 2의 보수, 양수이면 부호 없는 값으로 다시 계산합니다.

같은 비트 패턴의 4가지 해석

부호 없음
173
2의 보수
-83
1의 보수
-82
부호-크기
-45

IEEE 754 부동소수점

실수가 float/double로 어떻게 저장되는지 부호·지수·가수로 나눠 봅니다

부호 (1)
0
지수 (8)
01111011
가수 (23)
10011001100110011001101
종류
정규수 (normal)
16진 비트 패턴
0x3DCCCCCD
지수
123 − 127 (바이어스) = -4
값 = (−1)^부호 × 가수 × 2^지수
(−1)0 × 1.100110011001100110011012 × 2-4
실제로 저장되는 값 (정확한 10진)
0.100000001490116119384765625

입력한 값과 정확히 같지 않습니다 — 2진 소수로 딱 떨어지지 않아 가장 가까운 값으로 반올림되었습니다. 0.1 + 0.2 ≠ 0.3인 이유입니다.

텍스트 ↔ 2진·16진 (UTF-8)

16진수 (Hex) · 12바이트
48 65 6C 6C 6F 20 ED 95 9C EA B8 80
2진수 (Binary) · 12바이트
01001000 01100101 01101100 01101100 01101111 00100000 11101101 10010101 10011100 11101010 10111000 10000000
10진수 (Decimal) · 12바이트
72 101 108 108 111 32 237 149 156 234 184 128
Hi 안녕

영문·숫자는 1바이트(ASCII와 같음), 한글은 3바이트입니다. 공백·쉼표·0x 구분 모두 허용합니다.

자주 쓰는 값

10진수 (Decimal)2진수 (Binary)8진수 (Octal)16진수 (Hex)
0000
1111
711177
81000108
10101012A
15111117F
16100002010
12711111111777F
1281000000020080
25511111111377FF
256100000000400100
1024100000000002000400
40961000000000000100001000
655351111111111111111177777FFFF

진법 변환기란?

2진수(Binary), 8진수(Octal), 10진수(Decimal), 16진수(Hexadecimal)와 2~36진법 사이를 실시간으로 변환하는 도구입니다. 임의 크기의 정수와 소수(순환소수 포함)를 정확히 변환하고, 2의 보수·1의 보수·부호-크기, IEEE 754 부동소수점 구조, 손으로 푸는 풀이 과정, 텍스트의 UTF-8 바이트 변환까지 한 화면에서 제공합니다.

사용 방법

  1. 1아무 진법 칸에 값을 입력하면 나머지가 즉시 바뀝니다. 음수(-42), 소수(13.625), 접두사(0xFF, 0b1010), 구분자(1010_1101)도 입력할 수 있습니다
  2. 2'풀이 과정'에서 나눗셈법·자리값 합·묶음법을 단계별로 확인할 수 있습니다 (정보처리기사·컴활 대비)
  3. 3'부호 있는 정수'에서 8/16/32/64비트를 고르면 2의 보수·1의 보수·부호-크기와 오버플로 여부를 보여주고, 비트를 눌러 값을 바꿀 수 있습니다
  4. 4IEEE 754 칸에 실수를 넣으면 float32/float64의 부호·지수·가수와 실제 저장값을 보여줍니다
  5. 5주소창 링크에 입력값이 저장되므로 그대로 공유하면 같은 화면이 열립니다

변환 원리

  1. 110진 → N진: 정수부는 N으로 계속 나눠 나머지를 아래에서 위로, 소수부는 N을 계속 곱해 정수부를 위에서 아래로 읽습니다.
  2. 2N진 → 10진: 각 자리 숫자 × N^자리위치를 모두 더합니다. 소수점 아래 첫 자리는 N^-1입니다.
  3. 32진 ↔ 16진은 4비트, 2진 ↔ 8진은 3비트씩 묶으면 바로 변환됩니다.
  4. 4음수 2의 보수 = 모든 비트 반전(1의 보수) + 1. n비트 범위는 −2^(n−1) ~ 2^(n−1)−1입니다.
  5. 5IEEE 754 float32는 부호 1 + 지수 8(바이어스 127) + 가수 23비트, float64는 1 + 11(바이어스 1023) + 52비트입니다.

참고 사항

  • •2진수: 컴퓨터가 실제로 처리하는 0과 1의 숫자 체계. 16진 한 자리 = 4비트
  • •8진수: Unix 파일 권한(chmod 755 = rwxr-xr-x) 등에 사용
  • •16진수: 색상코드(#FF0000), 메모리 주소, 바이트 덤프 등에 사용
  • •10진 소수 0.1은 2진수로 0.0(0011)처럼 끝없이 반복됩니다 — 부동소수점 오차의 원인
  • •8비트 2의 보수 범위는 −128 ~ 127이며, −128은 1의 보수·부호-크기로는 표현할 수 없습니다

자주 묻는 질문

Q. 16진수는 왜 컴퓨터에서 많이 사용되나요?

A. 16진수 한 자리는 2진수 4비트와 정확히 대응해 메모리 주소, 색상 코드, 해시값 등을 짧게 나타낼 수 있습니다. 0~9와 A~F(10~15)를 사용합니다.

Q. 음수나 소수점 변환도 지원하나요?

A. 네. -42처럼 부호를 붙이면 음수로 변환되고, '부호 있는 정수'에서 8~64비트 2의 보수·1의 보수·부호-크기 표현을 볼 수 있습니다. 13.625 같은 소수도 변환되며, 0.1처럼 2진수로 끝나지 않는 값은 0.0(0011)처럼 순환마디를 괄호로 표시합니다.

Q. 2의 보수는 어떻게 구하나요?

A. 양수의 2진수를 모든 비트 반전(1의 보수)한 뒤 1을 더합니다. 예: 8비트에서 5 = 00000101 → 반전 11111010 → +1 = 11111011 = −5. 풀이 과정과 비트 보기에서 직접 확인할 수 있습니다.

Q. 0.1 + 0.2가 0.3이 아닌 이유는?

A. 0.1은 2진수로 끝없이 반복되는 소수라서 float64에 저장할 때 가장 가까운 값(0.1000000000000000055…)으로 반올림됩니다. IEEE 754 칸에 0.1을 넣으면 실제 저장값을 볼 수 있습니다.

Q. IP 주소를 2진수로 변환할 수 있나요?

A. 각 옥텟(0~255)을 10진수 칸에 입력하면 8비트 2진수로 변환됩니다. 예: 192 → 11000000, 168 → 10101000.

진법 변환기란?

진법 변환기는 2진수(Binary), 8진수(Octal), 10진수(Decimal), 16진수(Hexadecimal)를 실시간으로 상호 변환하는 무료 온라인 개발 도구입니다. 컴퓨터 과학, 프로그래밍, 네트워크 관리, 디지털 회로 설계 등 다양한 분야에서 진법 변환이 필요하며, 이 도구는 소수·순환소수, 2의 보수, IEEE 754 부동소수점 분해, 손으로 푸는 풀이 과정까지 제공하여 정보처리기사·컴활을 준비하는 학생과 개발자 모두에게 유용합니다. 색상 코드(HEX), 메모리 주소, chmod 권한 설정 등 실무 활용도가 높습니다.

진법 변환기 활용 팁

  • 색상 코드 변환: 웹 색상 #FF5733은 16진수 두 자리씩(FF·57·33) 10진수로 변환하면 RGB(255, 87, 51) 값과 일치합니다.
  • chmod 권한 계산: Unix/Linux 파일 권한 755는 8진수이며, 이를 2진수로 변환하면 rwxr-xr-x(111 101 101) 구조를 바로 이해할 수 있습니다.
  • 메모리 주소 분석: 16진수 메모리 주소(예: 0x1A2B)를 10진수로 변환하면 실제 메모리 위치 계산에 도움이 됩니다.
  • 비트 구조 학습: 비트 보기에서 비트를 눌러 0↔1을 바꾸면 값과 2의 보수·1의 보수 해석이 바로 바뀌어 비트 구조를 직관적으로 이해할 수 있습니다.
  • IP 주소 분석: IPv4 주소의 서브넷 마스크를 2진수로 변환하면 네트워크 범위와 호스트 수를 쉽게 계산할 수 있습니다.