Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP fmod() 함수 완벽 정리: 부동 소수점 나눗셈의 나머지 구하기

정의 및 사용법

fmod는 floating modulo(부동 소수점 모듈로)를 의미하며, 두 개의 부동 소수점 숫자를 나눴을 때의 나머지를 반환하는 PHP 함수입니다.

예를 들어 x ÷ y 연산의 결과가 몫 i와 나머지 r이라고 할 때, 다음 관계가 성립합니다.

x = y × i + r

이때 fmod(x, y)는 위 식의 r, 즉 나머지 값을 반환합니다.

구문

fmod ( float $x , float $y ) : float

매개변수

번호매개변수 및 설명
1x
나눗셈식에서 분자(피제수)에 해당하는 값입니다.
2y
나눗셈식에서 분모(제수)에 해당하는 값입니다.

반환 값

PHP fmod() 함수는 xy로 나눈 결과의 부동 소수점 나머지를 반환합니다. 이때 나머지의 부호는 항상 피제수인 x의 부호를 따른다는 점에 유의해야 합니다.

지원 PHP 버전

이 함수는 PHP 4.x, PHP 5.x, PHP 7.x 등 대부분의 버전에서 사용할 수 있습니다.

예제 1: 기본 사용법

다음 예제는 5.25를 1.5로 나눈 나머지를 계산하여 0.75를 반환합니다.

<?php
    $x = 5.25;
    $y = 1.5;
    $r = fmod($x, $y);
    echo "fmod(" . $x . "," . $y . ") = " . $r;
?>

출력 결과

fmod(5.25,1.5) = 0.75

예제 2: 음수 피제수

다음 예제처럼 피제수가 음수일 경우, 나머지 역시 음수가 됩니다.

<?php
    $x = -10;
    $y = 3;
    $r = fmod($x, $y);
    echo "fmod(" . $x . "," . $y . ") = " . $r;
?>

출력 결과

fmod(-10,3) = -1

예제 3: 피제수와 제수가 모두 음수

두 매개변수(-10과 -3)가 모두 음수인 경우에도 나머지는 피제수의 부호를 따르므로 결과는 -1입니다.

<?php
    $x = -10;
    $y = -3;
    $r = fmod($x, $y);
    echo "fmod(" . $x . "," . $y . ") = " . $r;
?>

출력 결과

fmod(-10,-3) = -1

예제 4: 0이 포함된 경우

피제수가 0이고 제수가 0이 아닐 때는 나머지가 0이 되며, 반대로 제수가 0이면 결과는 NAN(Not a Number)이 됩니다.

<?php
    $x = 0;
    $y = 3.33;
    $r = fmod($x, $y);
    echo "fmod(" . $x . "," . $y . ") = " . $r . "\n";
    $r = fmod($y, $x);
    echo "fmod(" . $y . "," . $x . ") = " . $r;
?>

출력 결과

fmod(0,3.33) = 0
fmod(3.33,0) = NAN

참고 사항

fmod() 함수는 일반적인 나머지 연산자(%)와 달리 부동 소수점 숫자에도 사용할 수 있다는 장점이 있습니다. 또한 나머지의 부호가 항상 피제수를 따르기 때문에, 수학적으로 정확한 부동 소수점 나머지 계산이 필요한 경우 유용하게 활용됩니다.