Dalam bahasa C, << dan >> ialah operator anjakan bit, digunakan untuk menjalankan operasi bit pada pembolehubah integer: <<: operator anjakan kiri, mengalihkan perwakilan binari operan ke kiri oleh ditentukan Bilangan digit, bersamaan dengan kuasa 2. >>: Operator anjakan kanan, yang menggerakkan perwakilan perduaan operan ke kanan dengan bilangan digit yang ditentukan, yang bersamaan dengan pembahagian dengan kuasa 2. Anjakan kanan yang ditandatangani (>>) mengekalkan bit tanda, manakala anjakan kanan yang tidak ditandatangani (>>>) mengisi bit kosong dengan sifar.
usage of & lt; & lt; .
Pengendali anjakan kiri (<<)
<< Operator mengalihkan perwakilan binari operan ke kiri dengan bilangan digit yang ditentukan, bersamaan dengan operasi kuasa asas 2. Contohnya:
int x = 5; // 二进制表示:00000000 00000101 int y = x << 2; // y 的二进制表示:00000000 00010100 // 等价于:y = x * 2^2 = 5 * 4 = 20
operator anjakan kanan (>>)
operator mengalihkan perwakilan binari operan ke kanan dengan bilangan digit yang ditentukan, bersamaan dengan operasi pembahagian asas 2. Ia juga boleh dibahagikan kepada anjakan kanan yang ditandatangani (>>) dan anjakan kanan yang tidak ditandatangani (>>>).
Anjakan kanan yang ditandatangani (>>):
int x = -5; // 二进制表示:11111111 11111011 int y = x >> 2; // y 的二进制表示:11111111 11111100 // 等价于:y = x / 2^2 = -5 / 4 = -2
int x = 5; // 二进制表示:00000000 00000101 int y = x >>> 2; // y 的二进制表示:00000000 00000001 // 等价于:y = x / 2^2 = 5 / 4 = 1
Pengendali anjakan mempunyai pelbagai senario aplikasi, termasuk:
Operasi medan bit
Atas ialah kandungan terperinci Penggunaan << dan >> dalam bahasa c. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!