say $f = sprintf "%x", -15; say hex $f; __END__ fffffffffffffff1 18446744073709551601