Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa ~2 Menghasilkan -3 dalam Python?

Mengapa ~2 Menghasilkan -3 dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-11 18:52:03927semak imbas

Why Does ~2 Result in -3 in Python?

Meneroka Operator Pelengkap Bitwise Python (~ Tilde)

Memahami cara operator ~ Python berfungsi adalah penting apabila berurusan dengan manipulasi bit. Operator ini melengkapkan setiap bit nombor tertentu, pada asasnya menyongsangkan 0s dan 1s.

Mengapa ~2 Keputusan dalam -3

Operator ~ melengkapi bit sesuatu nombor, tetapi tafsiran nilai yang terhasil bergantung pada seni bina mesin. Dalam kebanyakan sistem, nombor negatif disimpan menggunakan pelengkap dua.

Untuk memahami cara ~2 menghasilkan -3, mari kita periksa perwakilan pelengkap dua bagi -2 (8 bit):

1111 1110

Ini diperoleh dengan menyongsangkan bit pasangan positif (0000 0010), yang menjadi 1111 1101, dan kemudian menambah satu. Bit paling kiri (1) menunjukkan nombor negatif.

Cara ~ Operator Berfungsi

Apabila digunakan pada 2 (0000 0010), operator ~ melengkapi setiap bit kepada menghasilkan 1111 1101: ini adalah sama dengan perwakilan pelengkap kedua-dua bagi -3. Oleh itu, ~2 = -3.

Implikasi Operator ~

Adalah penting untuk ambil perhatian bahawa operator ~ hanya membalikkan bit; tafsiran nilai yang terhasil ditentukan oleh mesin. Ini bermakna bahawa tingkah laku pengendali ~ mungkin berbeza bergantung pada seni bina asas dan piawaian perwakilan data.

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

Kenyataan:
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