PHP 프로그래밍에서 때때로 특정 데이터 비트가 올바르게 설정되거나 지워지도록 비트 동작을 처리해야합니다. Bindec () 함수는 이진 문자열을 10 진수로 변환하여 데이터를 비트 단위로 쉽게 비교하고 판단 할 수 있도록 도와줍니다. 이 기사는 BITWISE 판단에 BINDEC ()를 사용하는 방법을 자세히 소개하고 샘플 코드를 이해하는 데 도움이됩니다.
Bindec () 는 이진 문자열을 해당 10 진수 정수로 변환하는 PHP 내장 기능입니다. 구문은 다음과 같습니다.
int bindec(string $binary_string)
예를 들어:
echo bindec('1010'); // 산출 10
이는 각 비트가 이진 문자열을 통해 설정되어 있는지 시각적으로 표시 할 수 있기 때문에 비트 동작에 매우 유용합니다.
다음과 같이 비트별로 설정 해야하는 8 비트 데이터가 있다고 가정합니다.
비트 0 : 함수 A가 활성화되어 있는지 여부를 나타냅니다
비트 1 : 함수 B가 활성화되어 있는지 여부를 나타냅니다
비트 2 : 함수 C가 활성화되어 있는지 여부를 나타냅니다
등...
BitWise 할당을 완료 한 후 바이너리 스트링 형태로 현재 상태를보고 Bindec ()을 사용하여 정수 저장소 또는 판단으로 변환 할 수 있습니다.
요구 사항이 있다고 가정합니다. 변수의 두 번째 및 4 번째 비트가 1 (오른쪽에서 왼쪽에서 0 인덱스)으로 설정되기를 원하며 나머지 비트는 0 또는 1 일 수 있습니다.
샘플 코드는 다음과 같습니다.
<?php
// 목표:1.2位和1.4비트는해야합니다1,이진 비트는 오른쪽에서 왼쪽으로 계산됩니다
// 예를 들어,올바른 바이너리 예제:00010100 (1.2和1.4모두1)
$binaryString = '00010100';
// 이진 문자열을 10 진수로 변환합니다
$decimalValue = bindec($binaryString);
// 마스크를 정의하십시오(mask)用于检测1.2和1.4비트입니다1
// 마스크 바이너리입니다 00010100,지금 바로16+4=20
$mask = bindec('00010100');
// 비트 과제가 올바른지 확인하십시오
if (($decimalValue & $mask) === $mask) {
echo "데이터 비트 비트 할당이 정확합니다";
} else {
echo "데이터 비트 비트 할당 오류";
}
$ 마스크는 우리가 돌보는 비트를 나타내는 이진 번호입니다. 여기서 우리는 2 등과 4 번째 비트를 1로 설정했습니다 (이진 00010100에 해당).
비트와 연산자 및 탐지를 위해 사용하면 결과는 마스크 자체와 동일합니다. $ DecimalValue 의 두 비트가 모두 1 인 경우에만 마스크 자체와 동일합니다.
이런 식으로, 우리는 지정된 비트 비트 할당이 올바른지 판단 할 수 있습니다.
위 코드의 일부 URL 도메인 이름을 M66.net 으로 바꾸려는 경우 : 예를 들어.
$url = "https://m66.net/path/to/resource";
<code> 태그에서 URL과 관련된 도메인 이름이 m66.net 으로 대체되어 코드 컨텐츠의 통합을 보장하는 한에 유의하십시오.
Bindec () 함수는 이진 문자열을 10 진수 숫자로 쉽게 변환 할 수 있으며 Bitwise 연산자에 의해 데이터가 올바르게 할당되는지 쉽게 감지 할 수 있습니다 . 마스킹 메커니즘을 사용하여 프로그램 논리의 정확성을 보장하기 위해 여러 비트의 상태를 유연하게 판단 할 수 있습니다.