<?php

function binarycodedstring2dec ( $binary ) {

$len = strlen ( $binary );

$rows =( $len / 4 )- 1 ;

if (( $len % 4 )> 0 ) {

$pad = $len +( 4 -( $len % 4 ));

$binary = str_pad ( $binary , $pad , "0" , STR_PAD_LEFT );

$len = strlen ( $binary );

$rows =( $len / 4 )- 1 ;

}

$x = 0 ;

for ( $x = 0 ; $x <= $rows ; $x ++) {

$s =( $x * 4 );

$bins = $binary [ $s ]. $binary [ $s + 1 ]. $binary [ $s + 2 ]. $binary [ $s + 3 ];

$num = base_convert ( $bins , 2 , 10 );

if ( $num > 9 ) {

die( "the string is not a proper binary coded decimal

" );

} else {

$res .= $num ;

}

}

return $res ;

}

?>



a binary coded decimal is converted by taking groups of four from a decimal string,

for example the binary coded decimal string

1000 = 8

10001000 does not = 136 but 88

so

binarycodedstring2dec(1000) = 8

binarycodedstring2dec(11100000111001)=3839

binarycodedstring2dec(100000111001)=839



i truly have no idea if this function will be useful to anyone, i simply failed a physics midterm because i didn't know this so i wrote this function to make sure i would never forget how to convert binary coded decimals