[Python-Dev] %b format? (original) (raw)

Tim Peters tim_one@email.msn.com
Thu, 31 May 2001 02:28:04 -0400


[Greg Ewing]

So, just add one general one:

%m.nb with n being the base. If n defaults to 2, you can read the "b" as either "base" or "binary".

Except .n has a different meaning already for integer conversions:

"%.5d" % 2 '00002' "%.10o" % 377 '0000000571'

It would be inconsistent to hijack it to mean something else here.

Literals:

0b(5)21403 general

I've actually got no use for bases outside {2, 8, 10, 16), and have never heard a request for them either, so I'd be at best -0. Better to stop documenting the full truth about int() <0.9 wink>.

0b11001101 binary

+1.

Conversion functions:

base(x, n) general

-0, as above.

bin(x) equivalent to base(x, 2) (for symmetry with existing hex, oct)

+1 if binary literals are added.

Type slots:

base(x, n)

Given the tenor of the above, add bin and call it a day.

Backwards compatibility measures:

hex(x) --> base(x, 16) oct(x) --> base(x, 8) bin(x) --> base(x, 2) base(x, n) checks hex and oct slots for special cases of n=16 and n=8, falls back on base There, that takes care of integers. Anyone want to do the equivalent for floats ?-)

Note that C99 introduces a hex notation for floats.