현재 위치: > 최신 기사 목록> Python에서 PHP의 bindec () 함수를 재현하는 방법

Python에서 PHP의 bindec () 함수를 재현하는 방법

M66 2025-05-29

PHP에서 Bindec () 함수는 이진 문자열을 10 진수로 변환하는 데 사용되며 이진 데이터를 처리 할 때 매우 실용적인 도구입니다. 예를 들어:

 <?php
echo bindec("1101"); // 산출 13
?>

Python에는 Bindec () 와 동일한 이름의 내장 기능이 없지만 동일한 기능을 매우 간단하게 구현할 수 있습니다. 이 기사는 몇 가지 예를 사용하여 Python에서 PHP의 Bindec () 함수를 시뮬레이션하는 방법을 자세히 설명합니다.

1. 기본 구현 방법

Python의 내장 기능 int () 는 임의의 문자열을 십진수로 변환 할 수 있으므로 올바른 카디널리티를 제공해야합니다. 예를 들어:

 binary_string = "1101"
decimal_number = int(binary_string, 2)
print(decimal_number)  # 산출 13

int (binary_string, 2)는 bindec ( "1101") 과 동일한 효과를 달성합니다.

2. 함수로 캡슐화

PHP가 어떻게 사용되는지에 가까워지면 Bindec 이라는 함수를 캡슐화 할 수 있습니다.

 def bindec(binary_string):
    try:
        return int(binary_string, 2)
    except ValueError:
        raise ValueError("입력 된 문자열은 유효한 이진 형식이 아닙니다")

사용 방법은 다음과 같습니다.

 print(bindec("1010"))  # 산출 10

3. 처리 기호 비트의 고급 구현

php에서, bindec ()는 이진 문자열을 보완 양식으로 취급하여 서명 된 십진수로 변환합니다. 예를 들어:

 echo bindec("11111111111111111111111111111111"); // 산출 -1

이 경우 Bindec ()는 모두 32 비트 1을 -1 (서명 된 정수)로 처리합니다. 파이썬에서 유사한 효과를 얻으려면 기호 비트를 수동으로 판단해야합니다.

 def bindec_signed(binary_string):
    length = len(binary_string)
    value = int(binary_string, 2)
    if binary_string[0] == '1':
        # 서명을 보완합니다
        value -= 1 << length
    return value

예:

 print(bindec_signed("11111111111111111111111111111111"))  # 산출 -1
print(bindec_signed("10000000000000000000000000000000"))  # 산출 -2147483648

4. 입력의 유효성을 결정하는 방법

불법 문자열이 들어가는 것을 방지하기 위해 먼저 문자열이 순수한 이진 형식인지 확인할 수 있습니다.

 def is_valid_binary(s):
    return all(c in '01' for c in s)

조합으로 사용 :

 def bindec_safe(binary_string):
    if not is_valid_binary(binary_string):
        raise ValueError("불법 이진 문자열")
    return int(binary_string, 2)

5. 온라인 테스트 도구 권장 사항

웹 페이지에서 이러한 코드를 테스트 할 수 있도록 온라인 파이썬 실행 환경을 사용할 수 있습니다.

결과를 얻으려면 위의 코드를 웹 페이지에 복사하면 디버깅에 매우 편리합니다.

6. 요약

Python은 Bindec () 함수가 내장되어 있지 않지만 int () 함수 및 간단한 논리적 처리를 통해 PHP 에서이 기능을 완전히 시뮬레이션하고 더 강력하게 만들 수도 있습니다.

  • 기본 기능은 int (Binary, 2) 에 의해 실현 될 수 있습니다.

  • PHP의 보완 동작을 시뮬레이션하려면 bindec_signed ()를 사용할 수 있습니다.

  • 예외 및 유효성 처리를 추가하면 견고성이 향상 될 수 있습니다.

이 자습서가 언어 교차 개발에서 Bindec () 의 관련 논리를 성공적으로 마이그레이션하는 데 도움이되기를 바랍니다.