>  기사  >  백엔드 개발  >  나머지 큰 숫자(부동 소수점 숫자)를 구현하는 PHP 방법

나머지 큰 숫자(부동 소수점 숫자)를 구현하는 PHP 방법

高洛峰
高洛峰원래의
2017-02-20 17:21:371529검색

본 글에서는 PHP에서 큰 수(부동소수점)의 나머지를 구현하는 방법을 주로 소개하고, PHP 수학연산과 관련된 연산 능력을 예제 형식으로 분석하여 도움이 필요한 친구들이 참고할 수 있습니다

이 기사의 예에서는 PHP가 큰 숫자(부동 소수점 수)의 나머지 방법을 구현하는 방법을 설명합니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.

일반적으로 나머지 연산을 수행할 때 가장 먼저 떠오르는 것은 퍼센트 기호 %를 사용하는 것이지만 제수가 매우 큰 경우입니다. 값이 int 범위를 초과합니다. 나머지는 정확하지 않습니다.

php 큰 수(부동 소수점 수) 나머지 함수:


/**
 * php大数取余
 *
 * @param int or float $bn 除数
 * @param int $sn 被除数
 * @return int 余数
 */
//大数(浮点数)取余方法
function Kmod($bn, $sn) {
  return intval(fmod(floatval($bn), $sn));
}


테스트 코드:


//大数(浮点数)取余方法
function Kmod($bn, $sn) {
  return intval(fmod(floatval($bn), $sn));
}
//整数取余方法
function mod($bn, $sn) {
  return $bn%$sn;
}
//最大的int整数
$bn = PHP_INT_MAX;
$sn = 11;
var_dump($bn);
var_dump(Kmod($bn, $sn));
var_dump(mod($bn, $sn));
//给最大的int整数加1
$bn = PHP_INT_MAX + 1;
var_dump($bn);
var_dump(Kmod($bn, $sn));
var_dump(mod($bn, $sn));


실행 결과:


int 2147483647
int 1
int 1
float 2147483648
int 2
int -2

더 많은 PHP 구현(부동 소수점 수) 유씨의 방법에 관한 글은 PHP 중국어 홈페이지를 주목해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.