Python ビット単位の NOT
Python のビット演算では、個々のデータ ビットに対して最も正確な操作を行うことができます。 Python 演算子は、整数に対するビットごとの論理演算をサポートしています。
この記事では、Python の Bitwise NOT
演算子について説明します。
Python のビット単位の NOT
演算子
Bitwise NOT
(または補数) は、各ビットに対して論理否定を実行して、提供されたバイナリ値の 1つの補数を作成する単項演算であり、ビット単位の演算です。 0 のビットは 1 に変化し、1 のビットは 0 に変化します。
Bitwise NOT
は、値の 2 の補数から 1 を引いたものに相当します。 符号ビットと呼ばれる特定のビットは、整数が正か負か (整数の符号) を格納するために使用されます。正の数は負の数になり、正の数は負の数になります。このビットもビット単位の NOT
の影響を受けるためです。
構文:
~a
Bitwise NOT
演算子の記号は ~
です。
次の例では、値 1289
を持つ変数 a を宣言しています。 次に、それを変数 x
に代入します。ここで、a
の値と補数の値を加算し、-1
である x
の値を出力します。
コード例:
# Python 3.x
a = 1289
x = a + ~a
print(x)
出力:
#Python 3.x
-1
次のコード例では、変数 x
を宣言し、20
を割り当てました。 次に、出力に示すように、-21
を与える Bitwise NOT
演算を実行しました。
コード例:
# Python 3.x
x = 20
print("~20 =", ~x)
出力:
#Python 3.x
~20 = -21
この最後の例では、クラス用の特別な init()
メソッドを使用してデータを初期化します。 invert()
関数は、補数に self 属性を再割り当てすることにより、データのビットごとの反転を計算します。
データ 3
を変数 x
に割り当てます。 x
の補数は res
変数に格納されます。
resを印刷することにより。 data
は、出力として -4
を返します。
コード例:
# Python 3.x
class Data:
def __init__(self, data):
self.data = data
def __invert__(self):
return Data(~self.data)
x = Data(3)
res = ~x
print(res.data)
出力:
#Python 3.x
-4
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn