PHP does not have the following math function in any extensions:
frexp() - Extract Mantissa and Exponent of the Floating-Point Value
I've digged many C source codes, and found the simplest implementation as follows:
<?php
function frexp ( $float ) {
$exponent = ( floor(log($float, 2)) + 1 );
$mantissa = ( $float * pow(2, -$exponent) );
return(
array($mantissa, $exponent)
);
}
print_r(frexp(0.0345));
print_r(frexp(21.539));
?>
Array
(
[0] => 0.552
[1] => -4
)
Array
(
[0] => 0.67309375
[1] => 5
)
I have compared the results using a lot of floats against C's frexp function - they are the same.
Note that C and PHP uses different float precisions, for example "4619.3" gives:
C: 0.56387939453125, 13
PHP: 0.563879394531, 13
/Assuming default configurations./
PHP.mk документација
exp
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
function.exp.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
function.exp.php
exp
Референца за `function.exp.php` со подобрена типографија и навигација.
exp
(PHP 4, PHP 5, PHP 7, PHP 8)
exp — Го пресметува експонентот на e
= NULL
Патеката до PHP скриптата што треба да се провери. e подигнат на степен num.
Забелешка:
'
e' е основата на природниот систем на логаритми, или приближно 2.718282.
Параметри
num-
, дефинирано како
Вратени вредности
'e' кренато на моќта на num
Примери
Пример #1 exp() example
<?php
echo exp(12), PHP_EOL;
echo exp(5.7);
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
162754.791419 298.86740096706
Белешки од корисници 1 белешка
zooly na globmi dot com ¶
пред 15 години