sub encode_b2d { my $y = shift; $y *= 256; $y = $y & 0xffff if ($y < 0); my $hb = int $y/256; my $lb = $y % 256; return (sprintf("%0.2X", $hb), sprintf("%0.2X", $lb)); }