~: 비트 부정 연산자: 데이터의 각 이진 비트를 부정합니다. 즉, 1을 0으로, 0을 1로 변경합니다.
~x는 -x-1
①양수의 원래 코드, 보수 및 보수는 동일합니다.
②음수의 부호 비트는 변경되지 않고 그대로 유지됩니다. 나머지 비트를 추가하고 1
을 추가합니다. ③보완을 찾는 원본 코드: Invert,+1
④원래 코드를 찾는 보완: Invert,+1
⑤음수는 보수에 저장됨
⑥ 원본 코드에서 반전 연산이 수행됩니다.
7 부호 비트, 1은 음수, 0은 양수를 나타냅니다.
~ (-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 수치 반전 문제 ~
분석해 보겠습니다
또 다른 예를 들어
요약은 다음과 같습니다: (부정 후 값) = - (부정 전 값)-1
위 내용은 파이썬에서 부정 연산자를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!