Python에서 `~2`가 -3과 같은 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-18 06:22:01
원래의
270명이 탐색했습니다.

Why Does `~2` Equal -3 in Python?

Python 비트 보수 연산자(~~) 설명

Python의 비트 보수 연산자(~)는 피연산자에 대해 비트 NOT 연산을 수행합니다. , 모든 이진 비트를 반전시킵니다. 이 연산자는 주로 시스템에서 음수를 나타내는 데 사용됩니다.

~ 연산자는 어떻게 작동하나요?

음수는 2의 보수를 사용하여 컴퓨터 메모리에 저장됩니다. 표기법. 이 표기법에서 부호 비트는 숫자가 양수인지 음수인지를 나타냅니다. 나머지 비트는 숫자의 크기를 나타냅니다.

숫자 -2를 고려하세요. 2의 보수에서는 다음과 같이 표현됩니다(8비트):

1111 1110
로그인 후 복사

이 표현은 양의 대응(2)의 이진 보수에 1을 추가하여 파생됩니다.

0000 0010 (positive 2) -> 1111 1101 (complement) -> 1111 1110 (add one for negative)
로그인 후 복사

~2가 -3과 어떻게 같은지

~2가 -3과 같은 이유를 이해하려면 다음을 수행하세요. 2의 비트 보수를 조사합니다:

0000 0010 (positive 2) -> 1111 1101 (complement)
로그인 후 복사

이 보수는 -3의 2의 보수 표현입니다:

0000 0011 (positive 3) -> 1111 1100 (complement) -> 1111 1101 (add one for negative)
로그인 후 복사

따라서 ~ 연산자를 사용하여 2의 비트를 반전함으로써 우리는 2의 보수 표기법으로 -3을 나타내는 비트 패턴을 구합니다.

Key 포인트

~ 연산자는 비트 반전만 수행한다는 점에 유의하는 것이 중요합니다. 결과 비트를 양수 또는 음수로 해석하는 것은 컴퓨터 시스템의 메모리 표현에 따라 결정됩니다.

위 내용은 Python에서 `~2`가 -3과 같은 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿