On Sun, Dec 4, 2011 at 3:07 AM, Antoine Pitrou
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@gmail.com | Brisbane, Australia