Rumah >pembangunan bahagian belakang >C++ >Apakah perbezaan antara << dan >> dalam c++

Apakah perbezaan antara << dan >> dalam c++

下次还敢
下次还敢asal
2024-04-26 16:57:18456semak imbas

<< dan >> dalam C++ ialah operator anjakan bitwise, digunakan untuk anjakan bit ke kiri dan anjakan bit ke kanan bagi integer. Operator anjakan kiri (<<) mengalihkan perwakilan binari integer ke kiri, mengisi bit kosong dengan bit tanda atau 0. Operator anjakan kanan (>>) mengalihkan perwakilan binari integer ke kanan, mengisi bit kosong dengan bit tanda atau 0.

Apakah perbezaan antara << dan >> dalam c++

Perbezaan antara <<> dalam C++

<< (operator syif kiri) dan >> , digunakan untuk mengalihkan integer bertanda atau tidak bertanda bitwise. Perbezaan utama antara mereka adalah arah pergerakan.

Operator anjakan kiri (<<)

Operator anjakan kiri << Apabila integer ialah integer yang ditandatangani, bit yang dikosongkan akan diisi dengan bit tanda (0 untuk nombor positif, 1 untuk nombor negatif);

Operator anjakan kanan (>>)

operator anjakan kanan >> Mengalihkan perwakilan perduaan integer ke kanan dengan bilangan digit yang ditentukan. Untuk integer yang ditandatangani, bit tanda disalin ke dalam bit yang dikosongkan, dengan itu mengekalkan tanda nombor tersebut. Untuk integer tidak bertanda, bit kosong diisi dengan 0s.

Penggunaan

Pengendali anjakan kiri biasanya digunakan untuk mendarab integer dengan kuasa 2, kerana ia bersamaan dengan menambah 0 dalam perwakilan binari.

int x = 5; // 二进制:101
x << 2; // 二进制:10100 (等效于 x * 2^2)

Pengendali anjakan kanan biasanya digunakan untuk membahagikan integer dengan kuasa 2, kerana ia bersamaan dengan mengeluarkan 0 dalam perwakilan binari.

int y = 20; // 二进制:10100
y >> 2; // 二进制:101 (等效于 y / 2^2)

Contoh

Jadual berikut membandingkan kesan penggunaan << integer yang ditandatangani

5 <<<-5 << 2-20

-5 >> 2
  • -2
  • 2147483646
🎜🎜🎜🎜Nota: 🎜🎜🎜🎜Untuk operasi yang tidak ditandatangani sentiasa dalam keadaan positif. 🎜🎜Untuk integer yang ditandatangani, hasil operasi anjakan kanan bergantung pada bit tanda. 🎜🎜

Atas ialah kandungan terperinci Apakah perbezaan antara << dan >> dalam c++. 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
2
5 << 22020
-5 << 2-20-20
5 >> 2</p> <td>1</td> <td>1</td> <tr> <td> <code>-5 >> 2-20 5 >> 2