[Python-ideas] Negative hexes

Nick Coghlan ncoghlan at gmail.com
Sun Dec 4 02:13:26 CET 2011


On Sun, Dec 4, 2011 at 3:07 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
>> This is because Python's integers are not limited to 32 bits or 64 bits. If
>> you read PEP 237, you'll see that this was one of the hardest differences
>> between ints and longs to be resolved. You'd have to include an infinite
>> number of leading 'F' characters to format a negative long this way...
>
> That's a fair point :)

Random thought... could we use the integer precision field to fix
*that*, by having it indicate the intended number of bytes in the
integer?

That is, currently:

>>> "{:.4x}".format(31)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Precision not allowed in integer format specifier

What if instead that produced:

>>> "{:.4X}".format(31)
0000001F
>>> "{:.4X}".format(-31)
FFFFFFE1

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia



More information about the Python-ideas mailing list