PHP에서 고정밀 계산을 수행 할 때 일반적으로 BCMATH 확장에서 제공하는 다양한 기능을 사용합니다. 그중에서도 BCSQRT 와 BCScale은 두 가지 매우 중요한 기능입니다. BCSQRT는 숫자의 제곱근을 계산하는 데 사용되는 반면 BCScale은 글로벌 고정밀 조작 정확도를 설정하는 데 사용됩니다. 이 두 기능을 함께 사용하는 방법을 이해하면 고정밀 수학 작업을 처리 할 때보다 정확한 결과를 얻을 수 있습니다.
BCSQRT 함수는 고정밀 번호의 제곱근을 계산하는 데 사용됩니다. 기본 사용량은 다음과 같습니다.
<span><span><span class="hljs-title function_ invoke__">bcsqrt</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$num</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$scale</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
$ num : 제곱근을 계산하기위한 숫자 (문자열 양식).
$ scale : 옵션 매개 변수, 반환 결과의 정확도를 지정합니다.
정밀도가 지정되지 않으면 BCSQRT는 일반적으로 BCScale 에 의해 설정되는 현재의 글로벌 정밀도를 사용합니다.
BCCALE 기능은 전역 수치 정확도를 설정하는 데 사용됩니다. 이 기능은 모든 고전화 작업 (추가, 뺄셈, 곱셈, 분할 등)의 기본 소수점 자리를 제어하는 것입니다. 기본 사용량은 다음과 같습니다.
<span><span><span class="hljs-title function_ invoke__">bcscale</span></span><span>(</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$scale</span></span><span>): </span><span><span class="hljs-keyword">void</span></span><span>
</span></span>
$ 스케일 : 소수점 이하 자리 세트 수.
BCSQRT 와 같은 고정밀 작업을 수행하면 작업에 정확도가 지정되지 않으면 BCScale을 통해 설정된 글로벌 정확도를 사용합니다.
고정밀 계산에서 BCSQRT 의 기본 결과 정확도는 일반적으로 BCScale이 설정 한 전역 정확도에 따라 다릅니다. 보다 정확한 제곱근 결과를 얻으려면 BCScale을 조정하여 정확도를 향상 시키거나 BCSQRT 에서 스케일 매개 변수를 직접 지정할 수 있습니다.
<span><span><span class="hljs-comment">// 글로벌 정확도를 설정하십시오10십진수</span></span><span>
</span><span><span class="hljs-title function_ invoke__">bcscale</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">$number</span></span><span> = </span><span><span class="hljs-string">"123.456"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">bcsqrt</span></span><span>(</span><span><span class="hljs-variable">$number</span></span><span>);
</span><span><span class="hljs-comment">// 출력 결과</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"제곱근 결과: "</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span></span>
이 예에서는 BCCale (10) 을 통해 전 세계 정확도를 10 진수로 설정했습니다. 그런 다음 BCSQRT를 사용하여 123.456 의 제곱근을 계산했으며 그 결과 10 진수 자리가 유지되었습니다.
때로는 글로벌 설정에 영향을 미치지 않고 특정 작업에 대한 정밀도를 지정할 수도 있습니다. 현재 스케일 매개 변수를 BCSQRT 함수로 직접 전달할 수 있습니다.
<span><span><span class="hljs-comment">// 글로벌 정확도를 설정하십시오2십진수</span></span><span>
</span><span><span class="hljs-title function_ invoke__">bcscale</span></span><span>(</span><span><span class="hljs-number">2</span></span><span>);
</span><span><span class="hljs-comment">// 숫자의 제곱근을 계산하십시오,결과 정확도를 AS로 지정하십시오6십진수</span></span><span>
</span><span><span class="hljs-variable">$number</span></span><span> = </span><span><span class="hljs-string">"123.456"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">bcsqrt</span></span><span>(</span><span><span class="hljs-variable">$number</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>);
</span><span><span class="hljs-comment">// 출력 결과</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"제곱근 결과: "</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span></span>
이 예에서는 먼저 글로벌 정확도를 2 진수 자리로 설정하지만 BCSQRT를 호출 할 때는 작전 6 진수 자리의 정확도를 지정하여 계산 결과가 전역 정확도의 영향을받지 않고 6 진수로 정확합니다.
BCSQRT는 종종 BCADD , BCDIV 등과 같은 함수와 함께 복잡한 계산과 같은 다른 고정화 작업과 함께 사용해야합니다. 다음은 BCSQRT 와 BCADD를 결합한 예입니다.
<span><span><span class="hljs-comment">// 글로벌 정확도를 설정하십시오5십진수</span></span><span>
</span><span><span class="hljs-title function_ invoke__">bcscale</span></span><span>(</span><span><span class="hljs-number">5</span></span><span>);
</span><span><span class="hljs-comment">// 두 숫자와 합계의 제곱근 계산</span></span><span>
</span><span><span class="hljs-variable">$number1</span></span><span> = </span><span><span class="hljs-string">"25.0"</span></span><span>;
</span><span><span class="hljs-variable">$number2</span></span><span> = </span><span><span class="hljs-string">"16.0"</span></span><span>;
</span><span><span class="hljs-comment">// 제곱근을 계산하십시오</span></span><span>
</span><span><span class="hljs-variable">$sqrt1</span></span><span> = </span><span><span class="hljs-title function_ invoke__">bcsqrt</span></span><span>(</span><span><span class="hljs-variable">$number1</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);
</span><span><span class="hljs-variable">$sqrt2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">bcsqrt</span></span><span>(</span><span><span class="hljs-variable">$number2</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);
</span><span><span class="hljs-comment">// 计算제곱근 결과的和</span></span><span>
</span><span><span class="hljs-variable">$sum</span></span><span> = </span><span><span class="hljs-title function_ invoke__">bcadd</span></span><span>(</span><span><span class="hljs-variable">$sqrt1</span></span><span>, </span><span><span class="hljs-variable">$sqrt2</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);
</span><span><span class="hljs-comment">// 출력 결과</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"제곱근1: "</span></span><span> . </span><span><span class="hljs-variable">$sqrt1</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"제곱근2: "</span></span><span> . </span><span><span class="hljs-variable">$sqrt2</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"제곱근之和: "</span></span><span> . </span><span><span class="hljs-variable">$sum</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span></span>
이 예에서는 먼저 25.0 과 16.0 의 제곱근을 계산 한 다음 BCADD를 사용하여 추가합니다. 전체 계산 과정에서 5 자리 소수점 정확도를 지정했습니다.
BCSQRT 및 BCScale 과 함께 우리와 함께 사용하면보다 정확하게 고밀도 계산을 수행 할 수 있습니다. 실제 응용 분야에서 BCScale은 전역 정확도를 제어 할 수있는 반면 BCSQRT는 각 제곱근에 대해 지정된 정확도를 계산할 수 있습니다. 이 유연한 조합은 금융, 과학 컴퓨팅 등과 같은 분야를 다룰 때 필요한 정밀도를 얻는 데 도움이됩니다.