RUV Calculator진법 변환기https://calc.ruvlabs.com/ko/c/base-converter

진법 변환기

2진수·8진수·10진수·16진수

16진수

10진수
2진수
자세한 내역
8진수
비트 수

16진수로 FF, 2진수로 11111111입니다.

255를 16진수로 바꾸면?

16진수로 FF, 2진수로 11111111입니다.

기본값으로 계산한 예시입니다. 위에서 값을 바꾸면 내 경우의 답이 나옵니다.

진법 변환은 자릿값을 바꾸는 일

10진수 255는 2×10² + 5×10¹ + 5×10⁰ 입니다. 같은 원리로 2진수는 2의 거듭제곱, 16진수는 16의 거듭제곱을 자릿값으로 씁니다. 255를 2진수로 쓰면 11111111, 16진수로 쓰면 FF가 되는데 셋 다 같은 수를 다른 눈금으로 적은 것뿐입니다.

10진수를 다른 진법으로 바꾸는 방법은 나머지를 모으는 것입니다. 수를 진법으로 나누고 나머지를 적은 뒤 몫을 다시 나누기를 반복하고, 마지막에 나온 나머지부터 거꾸로 읽으면 됩니다. 반대 방향은 각 자리에 자릿값을 곱해 더하면 됩니다.

16진수가 널리 쓰이는 이유는 2진수 네 자리가 정확히 16진수 한 자리와 맞아떨어지기 때문입니다. 색상 코드 #8B5CF6은 24비트를 여섯 글자로 줄여 적은 것이고, 8진수는 세 비트씩 묶기 때문에 유닉스 파일 권한처럼 세 자리 단위가 의미를 갖는 자리에서 살아남았습니다.

변환에서 자주 틀리는 지점

16진수를 넣을 때 0x 접두사나 대소문자 때문에 값이 안 읽히는 경우가 많습니다. FF와 ff와 0xFF는 모두 같은 255이므로 형식보다 자릿수를 먼저 확인하세요. 진법 선택을 잘못 두면 101 같은 값은 2진수로 5, 10진수로 101이 되어 완전히 다른 답이 나옵니다.

비트 수는 값이 몇 자리 2진수로 표현되는지를 뜻하며, 저장에 필요한 크기와는 다릅니다. 255는 8비트로 표현되지만 부호가 있는 정수로 다루면 8비트에 −128부터 127까지밖에 담기지 않아 255가 들어가지 않습니다.

음수와 소수는 여기서 다루지 않습니다. 음수는 2의 보수 같은 별도 표현 규칙이 필요하고 자릿수를 몇으로 잡느냐에 따라 결과가 달라지기 때문입니다. 소수 역시 2진수에서 유한하게 떨어지지 않는 경우가 많습니다.

자주 묻는 질문

왜 16진수를 쓰나요?

16진수 한 자리가 정확히 4비트에 대응하기 때문입니다. 2진수 1111은 16진수 F 한 글자로 쓸 수 있어, 바이트 단위 데이터를 사람이 읽기 좋게 표현할 수 있습니다. 색상 코드(#FF8B5C)나 메모리 주소에 16진수를 쓰는 이유가 이것입니다.

0x, 0b 접두사는 무엇인가요?

프로그래밍 언어에서 진법을 표시하는 관례입니다. 0x는 16진수, 0b는 2진수, 0o는 8진수를 뜻합니다. 이 계산기는 접두사가 붙어 있어도 알아서 걸러냅니다.

음수나 소수도 변환되나요?

이 계산기는 음이 아닌 정수를 다룹니다. 음수는 2의 보수 표현 방식이 비트 수에 따라 달라지고, 소수는 부동소수점 형식(IEEE 754)을 따로 다뤄야 해서 별개의 문제입니다.

계산은 이 브라우저에서 이루어집니다. 결과를 그대로 쓰기 전에 넣은 값을 한 번 확인하세요.