将一个变量的几个位复制到另一个变量中

时间:2016-07-16 11:41:15

标签: python variables bit-manipulation concatenation

我有一个变量说A存储1101 0010。但我想只将前5位复制到另一个变量B中。另外我想将一些位从另一个变量连接到变量B. 基本上如果A = 1101 0010则B = 11010(仅从A的前5位)  并且C = 1101 0111(在B中已经存在的位上加111)

如何在Python中实现它?

2 个答案:

答案 0 :(得分:0)

如果A var是一个字符串,你必须将它切片然后连接它。

以下是一个例子:

>>> a = '11010 0010'
>>> b = a[0:5]
>>> b
'11010'
>>> c = b + '111'
>>> c = int(c,2)
>>> c
215
>>> bin(c)
'0b11010111'

答案 1 :(得分:0)

你可以这样做:

>>> a=int('11010010', 2)
>>> temp=int('11111000', 2)
>>> b=(a&temp)
>>> c=int('11010111', 2)
>>> temp1=c&int('00000111', 2)
>>> b=b|temp1
>>> b
215
>>> bin(b)
'0b11010111'