Mengapa ~2 Menghasilkan -3 dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-11-11 18:52:03
asal
932 orang telah melayarinya

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
Salin selepas log masuk

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!

sumber:php.cn
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