/* пример использования $a = 1000; $b = DoubleHex::toDHEX($a); $c = DoubleHex::toDEC($b); var_dump($a); var_dump($b); var_dump($c); */ class DoubleHex { public static function toDHEX($dec) { $result = ''; while ($dec>0) { $quotient = intval($dec/32); $ost = $dec - $quotient*32; $dec = $quotient; if ($ost>9) { $ost = chr(65+$ost-10); } $result = $ost.$result; } return $result; } public static function toDEC($dhex) { $result = 0; $counter = 0; while ($dhex) { $point = substr($dhex, -1); $dhex = substr($dhex,0,strlen($dhex)-1); if (ord($point)>=64) { $point = ord($point)-55; } $result = $result + $point*pow(32,$counter); $counter++; } return $result; } }