>  기사  >  백엔드 개발  >  파이썬에서 부정 연산자를 사용하는 방법

파이썬에서 부정 연산자를 사용하는 방법

WBOY
WBOY앞으로
2023-04-30 08:22:143146검색

    Python 부정 연산자

    ~: 비트 부정 연산자: 데이터의 각 이진 비트를 부정합니다. 즉, 1을 0으로, 0을 1로 변경합니다.

    ~x는 -x-1

    1과 유사합니다. 계산 기준은

    • ①양수의 원래 코드, 보수 및 보수는 동일합니다.

    • ②음수의 부호 비트는 변경되지 않고 그대로 유지됩니다. 나머지 비트를 추가하고 1

    • 을 추가합니다. ③보완을 찾는 원본 코드: Invert,+1

    • ④원래 코드를 찾는 보완: Invert,+1

    • ⑤음수는 보수에 저장됨

    • ⑥ 원본 코드에서 반전 연산이 수행됩니다.

    • 7 부호 비트, 1은 음수, 0은 양수를 나타냅니다.

    2 예시

    ~ (-2)

    우선 컴퓨터에서 ⑤와 ②의 -2의 이진 형식을 알아야 합니다.

    • -2 원래 코드: 1000 0000 0000 0010

    • -2 음수 코드: 1111 1111 1111 1101 #부호 비트가 남아 있습니다. 변함없이 여러분 Negation

    • -2 보수: 1111 1111 1111 1110 #보완 코드 = 보수 코드 + 1

    1111 1111 1111 1110은 컴퓨터에 있는 -2의 원형입니다

    이제 부정을 시작해 보세요. bit Unchanged,

    는 비트 단위로 반전되었습니다. 0000 0000 0000 0001

    은 분명히 양수이고 원래 코드는 그 자체이므로 출력은 1.

    ~2

    2 원래 코드, 반전된 코드, 보수입니다. 코드: 0000 0000 0000 0010

    비트 부정: 1111 1111 1111 1101

    음수이면 어떻게 해야 하나요? 직접 물어봐도 될까요?

    분명히 이것은 불가능합니다. ⑥은 역연산 계산 결과가 원본 코드에서 수행된다고 말했습니다. ⑤ 또한: 음수가 보수 코드에 저장됩니다.

    1111 1111 1111 1101은 0000 0000 0000 0010의 보수 코드입니다. 하지만 우리가 원하는 것은 결과이지 컴퓨터의 프로토타입이 아닙니다.

    딱 맞습니다. ④ 원본 코드를 찾기 위한 보완: 부정, +1

    • 부정: 1000 0000 0000 0010

    • 더하기 1: 1000 0000 0000 0011

    그래서 원본 코드를 얻었고 결과를 계산할 수 있습니다

    1000 0000 0000 0011 = -3

    즉, 반전은 매우 간단하지만 반전이 원본 코드에서 결과를 직접 계산할 수 있나요? Python 수치 반전 문제 ~

    Python에서는 반전 기호를 사용하면 우리가 상상한 결과가 나오지 않습니다. 반전 전 값) -1

    분석해 보겠습니다

    예를 들어 1을 반전하면 1의 8비트 이진수 표현은 0000 0001이고, 반전 후의 결과는 1111 1110입니다. 컴퓨터의 경우 이진수 숫자 1로 시작하는 것은 음수를 나타냅니다. 그렇다면 1111 1110은 정확히 무엇을 의미합니까? 이 값을 알고 싶다면 해당 보수를 찾을 수 있습니다. 즉, 먼저 보수인 0000 0001을 취한 다음 1111을 나타내는 1: 0000 0010을 추가합니다. 1110의 원래 코드는 0000 0010, 즉 양수 2이므로 1111 1110은 음수 -2를 나타냅니다.

    또 다른 예를 들어

    -2를 반전하려면 -2의 이진수 표현은 2의 보수입니다. 0000 0010 > 1111 1101 > 1111 1110 이고 -2의 이진 표현은 1111 1110입니다. 이를 반전하여 0000 0001을 얻습니다. 분명히 반전된 값은 1이므로 ~(-2) = 1, ~1= -2

    요약은 다음과 같습니다: (부정 후 값) = - (부정 전 값)-1

    위 내용은 파이썬에서 부정 연산자를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제