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

PHP 8 fdiv() 함수 완벽 가이드 – 부동소수점 나눗셈과 0으로 나누기 처리

PHP 8에서 새롭게 도입된 fdiv() 함수는 IEEE 754 표준에 따라 부동소수점(floating-point) 나눗셈을 수행합니다. 두 개의 숫자를 나눈 뒤 그 결과를 부동소수점 값으로 반환하는 수학 연산 함수입니다.

fdiv()intdiv(), fmod() 함수와 유사하게 동작하며, 0으로 나누는 연산을 허용한다는 점이 특징입니다. 일반적인 나눗셈에서처럼 오류(DivisionByZeroError)를 발생시키는 대신, 0으로 나눌 경우 INF, -INF, NAN 중 하나의 값을 반환합니다.

반환값의 종류

  • INF (무한대) – 수학적으로 무한(infinite)에 해당하는 계산 결과를 의미합니다.

  • -INF (음의 무한대) – 음의 무한대, 즉 -1.796E308보다 작은 값을 의미합니다.

  • NAN (Not a Number, 숫자가 아님) – 정의되지 않은 수학적 계산의 결과입니다. 인자가 함수의 유효 범위를 벗어난 경우 등이 여기에 해당합니다.

대표적인 NAN 발생 사례

0/0 = NAN
INF/INF = NAN

예제 1: fdiv() 함수 기본 사용법

<?php
   echo fdiv(15, 4);
?>

실행 결과

3.75

15를 4로 나눈 결과인 3.75가 부동소수점 형태로 정상 출력됩니다.

예제 2: 0으로 나누기 처리

<?php
   echo fdiv(10, 0);  // INF (무한대)
   echo fdiv(-10, 0); // -INF (음의 무한대)
   echo fdiv(0, 0);   // NAN (숫자가 아님)
?>

실행 결과

INF
-INF
NAN

양수를 0으로 나누면 INF, 음수를 0으로 나누면 -INF, 그리고 0을 0으로 나누면 수학적으로 정의할 수 없으므로 NAN이 반환됩니다. 이처럼 fdiv() 함수를 활용하면 0으로 나누는 상황에서 프로그램이 중단되지 않고 안정적으로 결과를 처리할 수 있습니다.