fdiv


php128 apg

DIVIDE two numbers, according to IEEE 754.


This function is only available as of PHP 8.0.XX





This function returns the integer quociente of division of $num1 by $num2.

If $num2 = 0 an INF, -INF or NAN will be returned.

You must note in comparisons, NAN will never == or ===, any value, including itself.



<?php

float fdiv 
float $num1 float $num2 )


where,

$num1 The dividend
            
$num2 
The divisor
            
?>

$num1


The dividend.



$num2


The divisor.



  1 EXERCISE   

<?php

// Run this code several times

setlocale(LC_ALL'pt-br''pr_BR');

$divd01a mt_rand(3042);

$divs01a =  mt_rand(130);

if(
PHP_MAJOR_VERSION >= 8)
{

$quoc01a fdiv($divd01a$divs01a);

echo 
$divd01a ' divided by ' $divs01a 
               
' produces quociente: ' $quoc01a '<br><br>';

$quoc01b $divd01a $divs01a;

echo 
'The same of: ( ' $divd01a '/' 
                      
$divs01a ' ) = ' $quoc01b '<br>';
                      
}
else
{
    
echo 
"This function is not available.<br><br>";

$quoc01b $divd01a $divs01a;

echo 
'The same of alternative use: ( ' $divd01a '/' 
                      
$divs01a ' ) = ' $quoc01b '<br>';

}
?> 

  2 EXERCISE   

<?php
 
$divd02a 
PHP_INT_MAX;

$divs02a =  PHP_INT_MIN;

if(
PHP_MAJOR_VERSION >= 8)
{

$quoc02a fdiv($divd02a$divs02a);

echo 
$divd02a '<br>divided by<br>' $divs02a 
                        
'<br>produces quociente: ' $quoc02a '.<br><br>';
}
else
{
echo 
"This function is not available.";
    
}

?> 

  3 EXERCISE   

<?php

/* - - - - - - - - - - - - - - - - - - - - - - - - -

 Division by zero
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - */
 
$divd03a PHP_INT_MAX;

$divs03a =  0;

if(
PHP_MAJOR_VERSION >= 8)
{

$quoc03a fdiv($divd03a$divs03a);

echo 
$divd03a '<br>divided by<br>' $divs03a 
                         
'<br>produces quociente: ' $quoc03a '<br><br>';
}
else
{
echo 
"This function is not available.";
    
}

?> 

  4 EXERCISE   

<?php
 
$divd04a 
PHP_INT_MIN;

$divs04a =  -1;

if(
PHP_MAJOR_VERSION 7)
{

$quoc04a fdiv($divd04a$divs04a);

echo 
$divd04a '<br>divided by ' $divs04a 
                
'<br>produces quociente:<br>' $quoc04a '<br><br>';
                
}
else
{
echo 
'Function not available in PHP ' PHP_VERSION;
}

?> 

  5 EXERCISE   

<?php

$divd05a 
22.999999;

$divs05a =  11.0123467;

if(
PHP_MAJOR_VERSION 7)
{

$quoc05a fdiv($divd05a$divs05a);

echo 
$divd05a '<br>divided by<br>' $divs05a 
                  
'<br>produces quociente:<br>' $quoc05a '<br><br>';
                  
}
else
{
echo 
'Function not available in PHP ' PHP_VERSION;
}

?> 

  6 EXERCISE   

<?php

if(PHP_MAJOR_VERSION 7)
{

$divd06a PHP_FLOAT_MAX;

for(
$divs06a 0$divs06a <= 10$divs06a++)

{

$quoc06a fdiv($divd06a$divs06a);

echo 
$divd06a ' divided by ' $divs06a 
                         
'<br>produces quociente:<br>' $quoc06a '<br><br>';
                         
}
}
else
{
echo 
'Function not available in PHP ' PHP_VERSION;
}

?> 

  7 EXERCISE   

<?php

if(PHP_MAJOR_VERSION 7)
{

var_dump(fdiv(103));
echo 
'<br>';
var_dump(fdiv(10.3.));
echo 
'<br>';
var_dump(fdiv(-10.2.5));
echo 
'<br>';
var_dump(fdiv(10., -2.5));
echo 
"<br><br>";
var_dump(fdiv(10.0.));
echo 
'<br>';
var_dump(fdiv(10., -0.));
echo 
'<br>';
var_dump(fdiv(-10.0.));
echo 
'<br>';
var_dump(fdiv(-10., -0.));
echo 
"<br><br>";
var_dump(fdiv(INF0.));
echo 
'<br>';
var_dump(fdiv(INF, -0.));
echo 
'<br>';
var_dump(fdiv(-INF0.));
echo 
'<br>';
var_dump(fdiv(-INF, -0.));
echo 
"<br><br>";
var_dump(fdiv(0.0.));
echo 
'<br>';
var_dump(fdiv(0., -0.));
echo 
'<br>';
var_dump(fdiv(-0.0.));
echo 
'<br>';
var_dump(fdiv(-0., -0.));
echo 
"<br><br>";
var_dump(fdiv(INFINF));
echo 
'<br>';
var_dump(fdiv(INF, -INF));
echo 
'<br>';
var_dump(fdiv(-INFINF));
echo 
'<br>';
var_dump(fdiv(-INF, -INF));
echo 
"<br><br>";
var_dump(fdiv(0.INF));
echo 
'<br>';
var_dump(fdiv(0., -INF));
echo 
'<br>';
var_dump(fdiv(-0.INF));
echo 
'<br>';
var_dump(fdiv(-0., -INF));
echo 
"<br><br>";
var_dump(fdiv(NANNAN));
echo 
'<br>';
var_dump(fdiv(INFNAN));
echo 
'<br>';
var_dump(fdiv(0.NAN));
echo 
'<br>';
var_dump(fdiv(NANINF));
echo 
'<br>';
var_dump(fdiv(NAN0.));

}
else
{
echo 
'Function not available in PHP ' PHP_VERSION;
}

?>