<?php
function validar_binario($str)
{
foreach(str_split($str) as $bit)
{
if($bit == 0 || $bit == 1)
{}
else
{
return false;
}
}
return true;
}
function bin_a_dec($bin)
{
$bin = ltrim($bin,'0');
$bin = strrev($bin);
if( validar_binario($bin))
{
$resultado = 0;
foreach(str_split($bin) as $pos => $bit)
{
if($bit == '1')
{
$resultado = pow(2,$pos) + $resultado;
}
}
return $resultado;
}
else
{
die("No es un numero binario");
}
}
function dec_a_bin($n)
{
$dividendo = $n;
$cociente = 0;
$binario = '';
do
{
$cociente = floor($dividendo / 2);
$resto = $dividendo % 2;
$binario .= $resto;
$dividendo = $cociente;
}
while( $dividendo >1);
if($dividendo ==1){
$binario .=1;
}
return strrev($binario);
}