How to get the fraction and exponent of a real number in PHP

1 Answer

0 votes
function frexp($value) {
    if ($value == 0.0) {
        return [0.0, 0];
    }

    $exponent = (int) floor(log(abs($value), 2)) + 1;
    $fraction = $value / pow(2, $exponent);
    
    return [$fraction, $exponent];
}

$d = 3.14;
list($fraction, $exponent) = frexp($d);

printf("fraction = %.3f exponent = %d\n", $fraction, $exponent);



/*
run:

fraction = 0.785 exponent = 2

*/

 



answered Jun 30, 2025 by avibootz
...