파이썬 비트별 NOT

Fariba Laiq 2023년6월21일
파이썬 비트별 NOT

Python의 비트 연산을 통해 개별 데이터 비트에 대해 가장 정확한 조작을 수행할 수 있습니다. Python 연산자는 정수에 대한 비트 논리 연산을 지원합니다.

이 기사에서는 Python의 Bitwise NOT 연산자에 대해 설명합니다.

파이썬의 비트 NOT 연산자

제공된 이진 값의 하나의 보수를 생성하기 위해 각 비트에 대해 논리적 부정을 수행하는 단항 연산인 Bitwise NOT(또는 보수)은 비트 연산입니다. 0인 비트는 1로 변경되고 1인 비트는 0으로 변경됩니다.

‘Bitwise NOT’은 값의 2의 보수에서 1을 뺀 것과 같습니다. 부호 비트라는 특정 비트는 정수가 양수인지 음수인지(정수의 부호)를 저장하는 데 사용되며, 이 비트도 Bitwise NOT의 영향을 받기 때문에 양수는 음수가 되고 그 반대도 마찬가지입니다.

통사론:

~a

Bitwise NOT 연산자의 기호는 ~입니다.

다음 예제에서는 값이 1289인 변수 a를 선언했습니다. 그런 다음 이를 변수 x에 할당합니다. 여기서 a의 값과 보수 값을 더한 다음 x의 값인 -1을 인쇄합니다.

예제 코드:

# 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
작가: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

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

관련 문장 - Python Operator