Base_Convert () 함수는 다른 디지털 숫자 사이에서 변환하는 데 사용됩니다. 한 자리 (예 : 이진, 소수 등)에서 다른 숫자를 다른 숫자로 변환 할 수 있습니다. 이 함수의 구문은 다음과 같습니다.
<span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$number</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$frombase</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$tobase</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
$ 번호 : 변환 할 숫자는 문자열로 전달됩니다.
$ base : 현재 숫자는 2 ~ 36으로 나뉩니다.
$ TOBASE : 대상 바이너리, 범위는 2 ~ 36입니다.
변환 된 번호를 문자열로 반환합니다. 입력이 유효하지 않거나 매개 변수가 잘못된 경우 False가 반환됩니다.
Base_Convert () 함수는 2에서 36의 이진 범위를 지원합니다. 이는 다음 부서 사이에서 변환 할 수 있음을 의미합니다.
바이너리 (기본 2) : 컴퓨터에 데이터를 저장하는 데 종종 0 과 1 만 포함합니다.
8 월 (기본 8) : 0에서 7까지의 숫자로 구성됩니다.
10 진수 (기본 10) : 우리가 매일 사용하는 수치 시스템은 0에서 9까지의 숫자를 포함합니다.
16 진수 (기본 16) : 컴퓨터에서 데이터를 나타내는 데 사용되는 0 ~ 9 및 A ~ F를 포함하며 메모리 주소 및 기타 측면에서 널리 사용됩니다.
더 높은 Palance (기본 17 ~ Base 36) : 일반적인 소수점, 이진 등을 초과하지만 일부 특별 응용 분야에서는 여전히 고유 한 값이 있습니다.
예를 들어, 숫자의 문자 표현 (16 진수 이상)은 a to z 로 표시되며, 여기서 a = 10, b = 11, ..., z = 35입니다.
이진 번호 1011이 있고 소수점으로 변환하려고한다고 가정합니다.
<span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-string">"1011"</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">// 산출:11</span></span><span>
</span></span>
이 예에서, 이진 번호 1011은 십진수 11 으로 변환된다.
소수점 번호를 16 진수로 변환 해야하는 상황이 발생할 수 있습니다. 예를 들어, 숫자 255를 16 진수로 변환하십시오.
<span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-string">"255"</span></span><span>;
</span><span><span class="hljs-variable">$hexadecimal</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">$hexadecimal</span></span><span>; </span><span><span class="hljs-comment">// 산출:FF</span></span><span>
</span></span>
여기서는 10 진수 255가 16 진수 FF 로 변환됩니다.
16 진수를 Octal로 변환 할 수 있습니다. 예를 들어, 1f (16 진수)를 10 월으로 변환합니다.
<span><span><span class="hljs-variable">$hex</span></span><span> = </span><span><span class="hljs-string">"1F"</span></span><span>;
</span><span><span class="hljs-variable">$octal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$hex</span></span><span>, </span><span><span class="hljs-number">16</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$octal</span></span><span>; </span><span><span class="hljs-comment">// 산출:37</span></span><span>
</span></span>
16 진 1f는 10 월 37 로 변환됩니다.
PHP의 Base_Convert ()를 사용하면 16 진수보다 큰 이진을 사용할 수 있습니다. 예를 들어 소수점 100을 기본 35로 변환하십시오.
<span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-string">"100"</span></span><span>;
</span><span><span class="hljs-variable">$base35</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">35</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$base35</span></span><span>; </span><span><span class="hljs-comment">// 산출:2S</span></span><span>
</span></span>
기본 35에서, 숫자 100은 2s 에 해당합니다.
범위 제한 : Base_Convert () 함수의 지원되는 이진 범위는 2에서 36 사이입니다.이 범위를 초과하면 오류가 발생합니다.
매개 변수 유형 : $ 번호 매개 변수는 문자열 유형입니다. 입력이 숫자이더라도 문자열 유형으로 변환되어 통과해야합니다.
사례 : 이진 변환에서 PHP는 문자에 민감하지 않습니다. 예를 들어, Base_Convert ( "10", 10, 16) 및 Base_Convert ( "10", 10, 16) 의 결과는 동일합니다. 반환 된 결과는 대문자로 표시되지만 입력이 소문자 인 경우 자동으로 변환됩니다.