2016-07-16 101 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

相關問題