인코딩 데스크

이진수에서 십진수로

정확한 BigInt 산술을 사용해 부호 있는 이진 정수를 십진수로 변환합니다.

이진수에서 십진수로: 2진 정수를 일반적인 십진수 값으로 읽습니다. 이진수에서 십진수로 변환하는 과정은 각 숫자가 나타내는 2의 거듭제곱을 더하며, 명시적인 더하기 또는 빼기 부호를 허용합니다. 저장 폭이나 부호 있는 기계 형식을 추측하지 않고 비트 플래그를 해석하거나 이진수 학습지의 답을 확인할 수 있습니다. 서버에 파일을 전혀 업로드하지 않고 브라우저에서 100% 로컬로 실행됩니다.

카테고리
개발자 도구
실행 횟수
브라우저에서
비용
무료 · 가입 불필요
사용 가능 여부
사용 가능
Binary → Decimal / 로컬 작업 공간로컬 처리

브라우저에서 전부 실행됩니다

입력 256자 · 출력 1,024자

결과

준비됨

변환은 로컬에서 실행됩니다. 숫자 값은 정수이며 부호는 정규화되고 0b 또는 0o와 같은 접두사는 의도적으로 허용되지 않습니다.

전체 합을 사용한 위치값 공식

오른쪽에서 0부터 세는 위치 i의 비트 b_i에 대해 크기 N = sum of b_i × 2^i입니다. 합을 구한 뒤 명시적인 음수 부호를 적용하십시오. 110101에서는 설정된 비트의 가중치가 32, 16, 4, 1이므로 N = 1×32 + 1×16 + 0×8 + 1×4 + 0×2 + 1×1 = 53입니다. 이 여섯 자리를 입력하면 53이 반환됩니다. 이는 일반적인 이진 위치이며, 네 비트 BCD 그룹은 별도의 십진 숫자를 인코딩하므로 여기서는 디코딩하지 않습니다.

저장 폭과 정밀도 경계

최상위 비트가 설정된 부호 있는 w비트 2의 보수 소스에서는 signed value = unsigned value − 2^w입니다. Cornell의 설명(https://www.cs.cornell.edu/~tomf/notes/cps104/twoscomp.html)은 이 표현을 다룹니다. 입력은 부호를 포함해 최대 256자를 허용하며 결과 한도는 1,024자입니다. 32비트 또는 64비트 래핑은 수행하지 않습니다. JavaScript의 안전한 정수 범위는 2^53 − 1 = 9,007,199,254,740,991에서 끝납니다(https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number.max_safe_integer). 따라서 더 큰 내보내기 값은 텍스트 또는 정확한 정수로 유지하십시오. 같은 정수를 16진수 표기로 입력하려면 16진수-십진수 변환을 사용하십시오.

사용 방법

  1. 아래에 표시된 형식으로 값을 입력합니다.
  2. 변환을 실행하고 원본의 규칙에 따라 결과를 확인합니다.
  3. 대상에서 요구하는 형식으로 출력을 복사하거나 다운로드합니다.

개인정보 보호 및 제한사항

변환은 브라우저에서 실행됩니다. 입력한 값과 결과는 업로드하지 않습니다.

관련 도구

자주 묻는 질문

앞자리가 1이면 이진수가 음수가 되나요?

아닙니다. 빼기 부호가 없으면 모든 숫자는 양의 크기를 나타냅니다. 8비트 패턴 11111011은 251로 변환됩니다. 원본에서 부호 있는 8비트 2의 보수로 지정한 경우에는 결과를 별도로 해석해야 하며, 251 − 256 = −5입니다. 이 도구에는 비트 폭 선택 기능이 없습니다.

비트를 묶어서 입력하거나 0b 접두사를 붙일 수 있나요?

0과 1로 이루어진 연속된 숫자를 입력하고, 앞에 부호 하나를 선택적으로 붙이십시오. 공백, 밑줄, 0b 접두사 및 소수점은 허용되지 않습니다. 앞의 0은 입력할 수 있지만 값에는 영향을 주지 않습니다. 이진수의 위치 순서는 바이트를 뒤집지 않고 작성된 그대로 왼쪽에서 오른쪽으로 읽습니다.

긴 이진수 값이 JavaScript 숫자로 반올림되나요?

정확한 정수 산술을 사용하고 십진수 텍스트를 반환합니다. 먼저 입력한 숫자를 부동소수점 Number로 변환하지 않습니다. 다만 결과가 큰 경우, 이를 Number 또는 스프레드시트 숫자 셀로 처리하는 소프트웨어에 붙여 넣으면 이후에 정밀도가 손실될 수 있습니다.

무료 도구 · 브라우저에서회 실행 · 계정 불필요