1. 首页 > 数码 >

关于python二进制运算,你知道多少?

关于python二进制运算,python二进制怎么算这个很多人还不知道,今天小深来为大家解答以上的问题,现在让我们一起来看看吧!

关于python二进制运算,你知道多少?关于python二进制运算,你知道多少?


关于python二进制运算,你知道多少?


1、下面是代码,N是全局变量,表示二进制整数有多少位,默认是32,你可以改成其他的。

2、这个代码没有考虑溢出问题,而且仅用于无符号整数。

3、N = 32 #the number of bits for an integerdef int2b(n, bit=N):return [(n >> i) & 1 for i in range(bit)[::-1]]def b_add(l1, l2, bit=N):result = [0]Ncarry = 0for i in range(N)[::-1]:half_sum = l1[i] ^ l2[i]b_sum = (half_sum ^ carry)half_carry = (l1[i] & l2[i])carry = (carry & half_sum) | half_carryresult[i] = b_sum# print half_sum,b_sum,carry,resultreturn resultdef b_multiply(l1, l2, bit=N):result = [0]Nfor i in range(N):if l2[i]:result = b_add(result[:],l1[N-i-1:]+[0](N-i-1))return resultdef b2int(l, bit=N):result = 0for i in range(bit):if l[i]:result += (l[i]return resultdef main(x, y):print b2int(b_multiply(int2b(x), int2b(y)))if __name__ == '__main__':main(5,7)。

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息