2016-06-17 6 views
0

バイナリに対してOR演算を行いたい。私は文字列のバイナリを持っています。 例:文字列バイナリ操作

>>> 110 | 001 
111 

私はこれらのバイナリを文字列として持っています。このように:上記の入力の場合 「110100」と「001011」

、私は出力をしたい:111111

+1

この質問は不明です。この "110100"のような文字列があり、半分に分割して次のようにすることを意味しますか? 100 'である。または、2つの異なる文字列の2つの別々の2進数で操作を行いたいですか? –

+0

@DanielWesleyPorteous文字列に入力があります。 2つの異なる入力。どちらも "101010"のようなバイナリです。文字列形式の意味です。では、AND、OR、またはXORのような操作をどのように行うことができますか?基本的な問題は、何かをする前に真のバイナリに変換することです。 –

答えて

1

あなたがそれらの内部進数で2つの文字列を持っている場合、あなたは、単に)(10の整数をベースにして、ビンの内側にあなたのバイナリ操作を行うためにそれらを変換することができます。

num1 = int("110", 2) 
num2 = int("001", 2) 

print(bin(num1 | num2)) 
# Prints 0b111 

またはあなたの第二の例について:

num1 = int("110100", 2) 
num2 = int("001011", 2) 

print(bin(num1 | num2)) 
# Prints 0b111111 

これは、あなたのpython内の実際進数で回答を提供します。参考までに、私はこの質問をお勧めします:Binary numbers in Python

+0

良い答え。これはまさに私が探していたものです。ありがとう。 –

0

私はこのようにやりたいことができます。もっと簡単なアイディアがあるかもしれません。

>>> eval('0b' + '110100') | eval('0b' + '001011') 
63 

>>> bin(63) 
'0b111111'