2016-07-16 64 views
-3

我有一个变量说A存储1101 0010。但我想只是将前5位复制到另一个变量B中。此外,我想将其他变量的某些位连接到变量B. 基本上,如果A = 1101 0010,那么B = 11010(仅从A中取前5位) 和C = 1101 0111(将111添加到B中已有的位)将一个变量的几个位复制到另一个变量

如何在Python中实现这个?

+1

这不是很清楚。你总是想用111还是其他的替换最低的3位? –

+1

你可以发布你的代码吗? –

回答

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

OP说过数据是字符串吗? –

+0

我客人是因为空间。 – JazZ

+0

更新了我的答案。谢谢@joel – JazZ

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' 
+0

FWIW,你可以用二进制表示法指定整数字面量,例如'0b11010010'。 –

+0

哎呀,不知道这个,就是第一次用这个问题。谢谢。:) – shiva

相关问题