PHP의 bindec ()는 유효한 이진 형식이어야하는 문자열 유형 매개 변수를 수용합니다. 즉, 0 과 1 자만 포함됩니다. 예는 다음과 같습니다.
<?php
echo bindec("1011"); // 산출 11
?>
이 예에서 "1011" 은 표준 바이너리 표현이며 결과는 소수점에서 11 입니다.
대답은 다음과 같습니다. 영향을 미치지 않을 것입니다 .
bindec ()는 선행 0을 무시하고 각 비트의 무게를 정상적으로 오른쪽에서 왼쪽으로 계산합니다. 예를 들어:
<?php
echo bindec("0001011"); // 依旧산출 11
?>
"0001011" 을 통과하더라도 PHP는 여전히 "1011" 에 따라 구문 분석되며 최종 결과는 변경되지 않습니다.
즉, Bindec ()를 사용할 때는 주요 0을 청소하기 위해 특별히 코드를 작성할 필요가 없습니다 .
사용자가 제출 한 바이너리 데이터에서 소수점 번호를 추출하는 시스템을 구축한다고 가정 해 봅시다. URL은 다음과 같습니다.
https://m66.net/convert.php?bin=00011001
다음과 같이 처리 할 수 있습니다.
<?php
$binary = $_GET['bin'] ?? '0';
$decimal = bindec($binary);
echo "소수점 결과는입니다: $decimal";
?>
사용자가 "00011001"을 제출하더라도 출력은 여전히 10 진수 25 에서 정확합니다. 추가 ltrim ($ binary, '0') 작업이 필요하지 않습니다.
Bindec ()는 주요 0에 민감하지는 않지만주의를 기울여야 할 몇 가지 사항이 있습니다.
통과 된 문자열에 0 과 1 만 포함되어 있는지 확인하십시오. 다른 문자는 기대치를 충족시키지 못하도록 계산 오류 나 출력을 유발할 수 있습니다.
사용자가 빈 문자열 ( "" )을 입력하면 bindec ()가 0을 반환합니다. 이를 방지하기 위해 추가 입력 점검이 필요할 수 있습니다.