2진수를 10진수로 변환

1인 비트마다 2의 거듭제곱을 더하면 어떤 2진수든 10진수 값으로 바꿀 수 있습니다. 이 변환기는 1니블부터 64비트 레지스터 덤프까지 어떤 자릿수의 숫자든 받아들이고 자릿값 전개를 보여 주므로, 숙제를 확인하거나 비트 플래그를 역으로 분석하거나 디버거가 출력하는 값을 검증할 수 있습니다.

2진수를 10진수로 변환하는 원리

  1. 1

    2진수 자릿수 입력

    앞자리 0은 있어도 됩니다. 공백과 밑줄은 제거되므로 1010_1100은 10101100과 똑같이 동작합니다.

  2. 2

    각 비트에 가중치 부여

    오른쪽 끝부터 시작해 0번 자리의 가중치는 2^0 = 1, 1번 자리는 2, 2번 자리는 4, 이런 식으로 이어집니다.

  3. 3

    기여값 합산

    각 비트에 그 가중치를 곱해 모두 더합니다. 0은 아무것도 더하지 않고, 1은 해당 자리의 가중치를 더합니다.

  4. 4

    10진수 결과 읽기

    그 합계가 바로 10진수입니다. 복사하거나 상세 보기를 켜서 기여한 모든 가중치를 확인하세요.

풀이 예시: 1011 0101

비트 자리 7 6 5 4 3 2 1 0
가중치 128 64 32 16 8 4 2 1
비트 값 1 0 1 1 0 1 0 1
기여값 128 0 32 16 0 4 0 1

합계: 128 + 32 + 16 + 4 + 1 = 181

자릿수별 빠른 참고표

  • 4비트(니블): 최댓값 15
  • 8비트(바이트): 최댓값 255
  • 16비트(short): 최댓값 65,535
  • 32비트(부호 없는 int): 최댓값 4,294,967,295
  • 64비트(부호 없는 long): 최댓값 18,446,744,073,709,551,615

부호 있는 수와 부호 없는 수

이 변환기는 기본적으로 입력을 부호 없는 수로 취급합니다. 2의 보수로 표현된 부호 있는 수에서는 고정 폭 워드의 앞자리 1이 음수를 의미합니다. 모든 비트를 뒤집고 1을 더한 다음 결과에 음수 부호를 붙이세요. 부호 있는 결과가 필요하다면 원본 데이터에 맞는 폭(8, 16, 32, 64비트)을 선택하세요.

자주 묻는 질문

공백과 밑줄은 보기 좋게 하는 구분자로 취급되어 무시됩니다. 그 외의 문자(글자, 문장 부호, 잘못 섞인 2 등)는 입력 오류를 일으킵니다.

이 도구는 임의 정밀도 연산을 사용하므로 실질적인 상한이 없습니다. 512비트 해시 값이나 그 이상도 깔끔하게 변환됩니다.

변환기가 기본적으로 부호 없는 수로 처리하기 때문입니다. 8비트 부호 있는 해석으로 전환하면 11111111은 2의 보수에서 -1이 됩니다.

네. 한 줄에 하나씩 넣으세요. 각 줄은 따로 변환되고 결과도 한 줄씩 일대일로 정렬되어 스프레드시트에 쉽게 복사할 수 있습니다.

관련 도구