Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapakah `~2` Sama dengan -3 dalam Python?

Mengapakah `~2` Sama dengan -3 dalam Python?

Susan Sarandon
Lepaskan: 2024-11-18 06:22:01
asal
376 orang telah melayarinya

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

Python Bitwise Complement Operator (~~) Diterangkan

Operand bitwise complement (~) dalam Python melakukan operasi BUKAN bitwise pada operannya , menyongsangkan semua bit binari. Operator ini digunakan terutamanya untuk mewakili nombor negatif dalam sistem.

Bagaimana ~ Operator Berfungsi?

Nombor negatif disimpan dalam memori komputer menggunakan pelengkap kedua-duanya tatatanda. Dalam tatatanda ini, bit tanda mewakili sama ada nombor itu positif atau negatif. Baki bit mewakili magnitud nombor.

Pertimbangkan nombor -2. Dalam pelengkap dua, ia diwakili seperti berikut (8 bit):

1111 1110
Salin selepas log masuk

Perwakilan ini diperoleh dengan mengambil pelengkap binari pasangan positif (2) dan menambah satu.

0000 0010 (positive 2) -> 1111 1101 (complement) -> 1111 1110 (add one for negative)
Salin selepas log masuk

Bagaimana ~2 Sama dengan -3

Untuk memahami mengapa ~2 sama dengan -3, mari kita periksa pelengkap bitwise 2:

0000 0010 (positive 2) -> 1111 1101 (complement)
Salin selepas log masuk

Pelengkap ini ialah perwakilan pelengkap dua bagi -3:

0000 0011 (positive 3) -> 1111 1100 (complement) -> 1111 1101 (add one for negative)
Salin selepas log masuk

Oleh itu, dengan menyongsangkan bit 2 menggunakan operator ~, kita memperoleh corak bit yang mewakili -3 dalam tatatanda pelengkap dua.

Key Point

Adalah penting untuk ambil perhatian bahawa operator ~ hanya melakukan penyongsangan bitwise. Tafsiran bit yang terhasil sebagai nombor positif atau negatif ditentukan oleh perwakilan memori sistem komputer.

Atas ialah kandungan terperinci Mengapakah `~2` Sama dengan -3 dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan