gmp_com


gmp apg

CALCULATES the one's complement of a GMP number.





This function returns the one's complement of $num as a GMP number.



<?php

GMP gmp_com 
GMP|int|string $num )


where,

$num GMP number to obtain the complement

?>
 

$num


GMP number to obtain the complement.



  1 EXERCISE   

<?php

$a01 
= [ '04553207',
              
04553207
              
// octal 
             
'0x12D687'
              
0x12D687,
             
//hexadecimal 
              
'1234567',
              
1234567
              
// decimal
             
];

foreach(
$a01 as $v01)
{

$c01 gmp_com($v01);

echo 
'gmp_com( ' $v01 ' ) = ' gmp_strval($c01) . '<br><br>';

}

?>

  2 EXERCISE   

<?php

var_dump
(gmp_strval(gmp_com(0)));
echo 
'<br><br>';
var_dump(gmp_strval(gmp_com("0")));
echo 
'<br><br>';

/*
try {
    var_dump(gmp_strval(gmp_com("test")));
} catch (\TypeError $e) {
    echo $e->getMessage() . "<br><br>";
}
*/

var_dump(gmp_strval(gmp_com(017)));
echo 
'<br><br>';
var_dump(gmp_strval(gmp_com("017")));
echo 
'<br><br>';
var_dump(gmp_strval(gmp_com(0x1A)));
echo 
'<br><br>';
var_dump(gmp_strval(gmp_com("0x1A")));
echo 
'<br><br>';
var_dump(gmp_strval(gmp_com("2394876545678")));
echo 
'<br><br>';
var_dump(gmp_strval(gmp_com("-111")));
echo 
'<br><br>';
var_dump(gmp_strval(gmp_com(874653)));
echo 
'<br><br>';
var_dump(gmp_strval(gmp_com(-9876)));
echo 
'<br><br>';
$n gmp_init("98765467");
var_dump(gmp_strval(gmp_com($n)));
echo 
'<br><br>';
$n gmp_init("98765463337");
var_dump(gmp_strval(gmp_com($n)));
echo 
'<br><br>';

/*
try {
    var_dump(gmp_strval(gmp_com(array())));
    echo '<br><br>';
} catch (\TypeError $e) {
    echo $e->getMessage() . "<br><br>";
}
*/

?>

  3 EXERCISE   

<?php

$a03 
= [ -3, -2, -10123456712 ];

$base03 =10;
$base03a $base03 -9;

foreach(
$a03 as $k03 => $v03)
{

$c03 gmp_com($v03);

echo 
'gmp_com( ' $v03 ' ) = ' $c03 '<br> The same as ';

echo 
$base03 $a03[$k03] - $base03 -.  '<br><br>';

}

?>

  4 EXERCISE   

<?php

$a04 
= [ '0000''0001''0010''0011''1100''1101''1110''1111' ];

foreach(
$a04 as $k04 => $v04)
{

$b04 bindec($v04);
$c04 gmp_com($b04);

echo 
'gmp_com( ' $b04 ' ) = ' $c04 '<br>';

}

?>

  5 EXERCISE   

<?php

$bin05arr 
= ['01111111''01111110'
                    
'00000010''00000001'
                    
'00000000''11111111'
                    
'11111110''11111101'
                    
'10000001''10000000'];

foreach(
$bin05arr as $bin05)
{
$dec05 bindec($bin05);
$str05 gmp_com($dec05);

echo 
$dec05 ' = ' $bin05 '<br>Complement ' $str05 '<br><br>';

}

?>