搜来的十进制到2进制转换(bit-string位操作的应用)

http://www.daniweb.com/code/snippet285.html
def int2bin(n, count=24):    """returns the binary of integer n, using count number of digits"""    return "".join([str((n >> y) & 1) for y in range(count-1, -1, -1)])
很强大,这样的感觉
关于位操作:
早已遗忘在爪哇国度,问了同事才明白之所以然;
x | y  : 位或x ^ y  : 位异或x & y  : 位与x >> n : 位右移n,结果等于x / power(2,n)x ~x     : 位反,得到反码,结果就是-(x+1)补码:  反码+1负数的2进制表达是:正数 --> 反码 —-> 补码
在 -y = ~x 前提下:
x + ~x = F
(F为全1)
-y = ~y + 1
y + ~y = F
==>>
~x = ~y + 1
x+1 = y