Memahami Operator Pelengkap Bitwise Python (~)
Mengapa ~2 menghasilkan -3 dalam Python? Operator pelengkap bitwise (~), selalunya dilambangkan sebagai tilde, memainkan peranan penting dalam operasi bitwise. Untuk memahami cara kerjanya, mari kita mendalami konsep perwakilan pelengkap dua.
Integer negatif dalam Python disimpan menggunakan pelengkap dua, yang melibatkan penyongsangan perwakilan perduaan bagi pasangan positif dan menambah satu. Sebagai contoh, perwakilan binari bagi -2 dalam pelengkap dua ialah:
1111 1110
Ini diperoleh dengan menyongsangkan bit perwakilan binari dua (0000 0010) dan menambah satu. Bit peneraju berfungsi sebagai bit tanda, menandakan nilai negatif.
Sekarang, mari kita periksa cara menggunakan operator pelengkap kepada dua petunjuk kepada -3:
two: 0000 0010 ~two: 1111 1101
Kami hanya menyongsangkan bit daripada dua, menghasilkan perwakilan songsang. Walau bagaimanapun, perwakilan songsang ini berlaku untuk menyelaraskan dengan perwakilan pelengkap kedua-dua bagi -3, iaitu:
1111 1101
Oleh itu, menggunakan operator pelengkap kepada dua dengan berkesan menyediakan perwakilan pelengkap kedua-dua bagi -3.
Adalah penting untuk ambil perhatian bahawa pengendali pelengkap (~) hanya membalikkan bit nombor. Tafsiran sebenar bit ini bergantung pada seni bina mesin dan konteks di mana ia digunakan. Dalam kes integer dalam Python, mesin mentafsir bit terbalik mengikut perwakilan pelengkap kedua-duanya untuk nombor negatif.
Atas ialah kandungan terperinci Mengapakah `~2` Menghasilkan `-3` dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!