Phép dịch trái (Left Shift <<)
Dịch trái 1 lần → giá trị gấp đôi.
Ví dụ: a = 10; a << 1 = 20
Phép dịch phải (Right Shift >>)
Dịch phải 1 lần → giá trị giảm một nửa (chia 2).
Ví dụ: a = 10; a >> 1 = 5
Phép lấy phần bù (Complement ~)
~a = -(a + 1). Ví dụ: ~9 = -10.
Chương trình minh họa
#include <stdio.h>
int main() {
int a = 9;
printf("Right shift 1: %d\n", a >> 1); // 4
printf("Left shift 1: %d\n", a << 1); // 18
printf("Complement: %d\n", ~a); // -10
printf("Right shift 2: %d\n", a >> 2); // 2
printf("Left shift 2: %d\n", a << 2); // 36
return 0;
}
Kết quả
Right shift 1: 4 Left shift 1: 18 Complement: -10 Right shift 2: 2 Left shift 2: 36