integer to binary...
mensanator at aol.com
mensanator at aol.com
Thu Jun 1 17:25:10 EDT 2006
nicolasg at gmail.com wrote:
> does anyone know a module or something to convert numbers like integer
> to binary format ?
>
> for example I want to convert number 7 to 0111 so I can make some
> bitwise operations...
>
> Thanks
Use the gmpy module.
>>> import gmpy
>>> a = 14
>>> b = 7
>>> c = 8
>>> help(gmpy.digits)
Help on built-in function digits:
digits(...)
digits(x[,base]): returns Python string representing x in the
given base (2 to 36, default 10 if omitted or 0); leading '-'
present if x<0, but no leading '+' if x>=0. x must be an mpz,
or else gets coerced into one.
>>> print gmpy.digits(a,2)
1110
>>> print gmpy.digits(b,2)
111
>>> print gmpy.digits(c,2)
1000
>>> help(gmpy.setbit)
Help on built-in function setbit:
setbit(...)
setbit(x,n,v=1): returns a copy of the value of x, with bit n set
to value v; n must be an ordinary Python int, >=0; v, 0 or !=0;
x must be an mpz, or else gets coerced to one.
>>> d = gmpy.setbit(c,1,1)
>>> print gmpy.digits(d,2)
1010
>>> help(gmpy.scan1)
Help on built-in function scan1:
scan1(...)
scan1(x, n=0): returns the bit-index of the first 1-bit of x (that
is at least n); n must be an ordinary Python int, >=0. If no more
1-bits are in x at or above bit-index n (which can only happen for
x>=0, notionally extended with infinite 0-bits), None is returned.
x must be an mpz, or else gets coerced to one.
>>> help(gmpy.scan0)
Help on built-in function scan0:
scan0(...)
scan0(x, n=0): returns the bit-index of the first 0-bit of x (that
is at least n); n must be an ordinary Python int, >=0. If no more
0-bits are in x at or above bit-index n (which can only happen for
x<0, notionally extended with infinite 1-bits), None is returned.
x must be an mpz, or else gets coerced to one.
>>> print gmpy.scan1(a)
1
>>> print gmpy.scan1(b)
0
>>> print gmpy.scan1(c)
3
>>> print gmpy.scan1(d)
1
>>> print gmpy.scan0(a)
0
>>> print gmpy.scan0(b)
3
>>> print gmpy.scan0(c)
0
>>> print gmpy.scan0(d)
0
>>> help(gmpy.popcount)
Help on built-in function popcount:
popcount(...)
popcount(x): returns the number of 1-bits set in x; note that
this is 'infinite' if x<0, and in that case, -1 is returned.
x must be an mpz, or else gets coerced to one.
>>> print gmpy.popcount(a)
3
>>> print gmpy.popcount(b)
3
>>> print gmpy.popcount(c)
1
>>> print gmpy.popcount(d)
2
>>> help(gmpy.hamdist)
Help on built-in function hamdist:
hamdist(...)
hamdist(x,y): returns the Hamming distance (number of bit-positions
where the bits differ) between x and y. x and y must be mpz, or
else
get coerced to mpz.
>>> print gmpy.hamdist(a,b)
2
>>> print gmpy.hamdist(a,c)
2
>>> print gmpy.hamdist(a,d)
1
>>> print gmpy.hamdist(b,c)
4
>>> print gmpy.hamdist(b,d)
3
>>> print gmpy.hamdist(c,d)
1
More information about the Python-list
mailing list