Given a binary number, the task is to convert Binary to Decimal Number in PHP.
Examples:
Input: 1010
Output: 10
Input: 11001
Output: 25
There are different methods to convert Binary to Decimal Numbers, These are:
Using bindec() Function
The bindec() function returns the decimal equivalent of the binary number. It accepts a string argument i.e binary number and returns decimal equivalent.
Syntax:
bindec( $bin_num );
Example:
<?php $binNum = 110010;
$decNum = bindec ( $binNum );
echo "Decimal Number: " . $decNum ;
?> |
Decimal Number: 50
Using base_convert() Function
The base_convert() function converts a given number in an arbitrary base to a desired base. In this case, we use 2 as fromBase and 10 as desireBase.
Syntax:
string base_convert($inpNumber, $fromBase, $desBase)
Using Conversion AlgorithmExample:
<?php $binNum = 110010;
$decNum = base_convert ( $binNum , 2, 10);
echo "Decimal Number: " . $decNum ;
?> |
Decimal Number: 50
Using Conversion Algorithm
In this case, we use mathematical conversion algorithm to convert binary to its decimal equivalent. Here, we convert a binary number to decimal by iterating through each bit and summing up the corresponding powers of 2.
<?php function binToDec( $binNum ) {
$decNum = 0;
$len = strlen ( $binNum );
for ( $i = 0; $i < $len ; $i ++) {
$decNum += (int) $binNum [ $i ] * pow(2, $len - $i - 1);
}
return $decNum ;
} $binNum = '110010' ;
$decNum = binToDec( $binNum );
echo "Decimal Number: " . $decNum ;
?> |
Decimal Number: 50