PHP | bcpowmod() Function
Last Updated :
28 Apr, 2023
The bcpowmod() function in PHP is an inbuilt function and is used to raise an arbitrary precision base number to another exponent number reduced by a specified modulus. This function accepts three arbitrary precision numbers as strings and returns the base number raised to exponent modulo under a number after scaling the result to a specified precision.
Syntax:
string bcpowmod ( $base, $exponent, $mod, $scaleVal )
Parameters: This function accepts four parameters as shown in the above syntax and explained below:
- $base: This parameter is of string type and represents the left operand or the number which is the base in which the power will be raised. This parameter is mandatory.
- $exponent: This parameter is of string type and represents the right operand or one of the numbers which represent the exponent. This parameter is mandatory.
- $mod: This parameter is of string type and accepts an operand or a number that represents the modulus. This parameter is mandatory.
- $scaleVal: This parameter is of int type and is optional. This parameter tells the number of digits that will appear after the decimal in the result of (baseexponent)%mod. Its default value is zero.
Return Value: This function returns the ($base$exponent) % $mod result as a string. Examples:
Input: $base = 2, $exponent = 3 $mod = 3
Output: 2
Since the parameter $scaleVal is not specified so
no digits after decimal is appeared in the
result after evaluating result
Input: $base = 2, $exponent = 3, $mod = 3, $scaleVal = 2
Output: 2.00
The below programs illustrate the bcpowmod() function in PHP.
Program 1:
php
<?php
$base = "2";
$exponent = "3";
$mod = "3";
$res = bcpowmod( $base , $exponent , $mod );
echo $res ;
?>
|
Output:
2
Program 2:
php
<?php
$base = "2";
$exponent = "3";
$mod = "3";
$scaleVal = 4;
$res = bcpowmod( $base , $exponent , $mod , $scaleVal );
echo $res ;
?>
|
Output:
2.0000
Reference: http://php.net/manual/en/function.bcpowmod.php
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...