How do I convert from decimal to hexadecimal

Using sprint:

    $hex = sprintf("%X", 3735928559);
Using unpack

    $hex = unpack("H*", pack("N", 3735928559));
Using Bit::Vector

    use Bit::Vector;
    $vec = Bit::Vector->new_Dec(32, -559038737);
    $hex = $vec->to_Hex();
And Bit::Vector supports odd bit counts:

    use Bit::Vector;
    $vec = Bit::Vector->new_Dec(33, 3735928559);
    $vec->Resize(32); # suppress leading 0 if unwanted
    $hex = $vec->to_Hex();


Back to perlfaq4