개발에서 위상 변환은 특히 수치 시스템, 데이터 암호화 또는 다른 인코딩 시스템과 상호 작용할 때 일반적인 요구 사항입니다. PHP는 이진의 변환을 용이하게하기 위해 몇 가지 내장 기능을 제공합니다. 일반적으로 사용되는 두 가지 함수는 Base_Convert () 및 DeChex () 이며 다른 숫자로 변환 할 수 있습니다. 이 기사에서는이 두 기능을 결합하여 위상 변환의 작동을 단순화하는 방법을 살펴 봅니다.
먼저이 두 기능의 기본 기능을 이해합니다.
base_convert ($ number, $ from_base, $ to_base) : $ 숫자를 $ from_base 에서 $ to_base 로 변환합니다. 지원되는 계산 범위는 2에서 36 사이입니다.
Dechex ($ 번호) : 10 진수 번호를 16 진수로 표시된 문자열로 변환합니다.
Base_Convert () 는 다른 이진 시스템을 변환 할 수있는 매우 유연한 기능입니다. 이 함수를 통해 시작 및 타겟 이진을 지정하고 이진, 10 진수에서 16 진수에서 이진에서 다양한 형태의 변환을 처리 할 수 있습니다.
예를 들어, 이진수를 소수점 숫자로 변환합니다.
<span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-string">'1101'</span></span><span>;
</span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$binary</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$decimal</span></span><span>; </span><span><span class="hljs-comment">// 산출 13</span></span><span>
</span></span>
소수점을 16 진수로 변환 할 수도 있습니다.
<span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-number">255</span></span><span>;
</span><span><span class="hljs-variable">$hex</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">16</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$hex</span></span><span>; </span><span><span class="hljs-comment">// 산출 ff</span></span><span>
</span></span>
Dechex () 는 10 진수에서 16 진수에 더 중점을 둔 함수이며, 이는 십진수를 16 진수 표현으로 직접 변환합니다. base_convert () 와 비교하여 Dechex ()는 더 간결합니다. 특히 소수점과 16 진수 사이의 전환 만 처리하면됩니다.
예를 들어, 소수점 번호를 16 진수로 변환합니다.
<span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-number">255</span></span><span>;
</span><span><span class="hljs-variable">$hex</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dechex</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$hex</span></span><span>; </span><span><span class="hljs-comment">// 산출 ff</span></span><span>
</span></span>
경우에 따라,이 두 함수를 사용하면 특히 특정 바이너리에서 16 진수로 직접 변환해야 할 때 이진 변환을보다 효율적으로 수행 할 수 있습니다. 예를 들어, 이진수를 16 진수로 변환하려면 먼저 바이너리를 10 진수로 변환 한 다음 10 진수로 변환하여 다음을 수행 할 수 있습니다.
<span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-string">'1101'</span></span><span>;
</span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$binary</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>); </span><span><span class="hljs-comment">// 바이너리를 먼저 소수로 변환하십시오</span></span><span>
</span><span><span class="hljs-variable">$hex</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dechex</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>); </span><span><span class="hljs-comment">// 그런 다음 10 진수를 16 진수로 변환하십시오</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$hex</span></span><span>; </span><span><span class="hljs-comment">// 산출 d</span></span><span>
</span></span>
이 예는 바이너리에서 두 단계에서 직접 16 진수 결과를 얻는 방법을 보여줍니다.
3 배에서 16 진수로 변환해야한다고 가정 해 봅시다. 먼저 삼원을 소수로 변환 한 다음 10 진수로 변환 할 수 있습니다.
<span><span><span class="hljs-variable">$ternary</span></span><span> = </span><span><span class="hljs-string">'10212'</span></span><span>; </span><span><span class="hljs-comment">// 이것은 3 가지 번호입니다</span></span><span>
</span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$ternary</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>); </span><span><span class="hljs-comment">// 3 인용을 먼저 소수로 변환하십시오</span></span><span>
</span><span><span class="hljs-variable">$hex</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dechex</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>); </span><span><span class="hljs-comment">// 10 진수로 소수점을 변환하십시오</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$hex</span></span><span>; </span><span><span class="hljs-comment">// 산출 94</span></span><span>
</span></span>
이 프로세스는 내장 기능을 두 번 호출하여 복잡한 디비전 변환을 완료합니다.
base_convert () 와 dechex ()를 결합하여 임의에서 16 진수로 변환을 유연하게 완료 할 수 있습니다. Base_Convert ()는 경내 변환에 대한 광범위한 지원을 제공하는 반면 DeChex ()는 10 진전 전환에 대한 간결하고 효율적인 솔루션을 제공합니다. 이 두 기능의 조합을 통해 다양한 숫자 사이의 변환 요구 사항을 효율적으로 처리 할 수 있습니다.
이 기사의 도입을 통해 다양한 시나리오 및 요구에 따라 디비전 변환 작업을 처리하기위한 적절한 기능을 선택할 수 있으며, 이는 코드의 단순성을 향상시킬뿐만 아니라 개발 효율성을 향상시킵니다.