gmpy / binary()
Duncan Smith
buzzard at urubu.freeserve.co.uk
Tue Dec 18 11:48:39 EST 2001
My code:
bit_stuff.py
----------------------------------------------
import gmpy
def combinations(n, k):
comb = gmpy.mpz(1)
for i in range(k):
comb = comb.setbit(i) #first combination
print comb, comb.binary()
max = comb << (n-k) #last combination
print max, max.binary()
------------------------------------------------------
>>> reload(bit_stuff)
<module 'bit_stuff' from 'C:\Python20\anygui-0.1a3\bit_stuff.py'>
>>> bit_stuff.combinations(13,6)
63 ?
8064 ? #actually a ? followed by a shaded box with the letters US
>>> bit_stuff.combinations(14,6)
63 ?
16128
>>> x = gmpy.mpz(8064)
>>> x.binary()
'\200\037'
>>> y = gmpy.mpz(16128)
>>> y.binary()
'\000?'
>>> z = gmpy.mpz(63)
>>> z.binary()
'?'
Why the different output? eg. ? versus '\200\037' and nothing versus
'\000?'. Thanks in advance.
Duncan
More information about the Python-list
mailing list