Computer >> Máy Tính >  >> Lập trình >> C ++

Các toán tử Shift trái và Shift phải trong C / C ++

Shift Trái

Trong toán tử dịch trái, giá trị toán hạng bên trái được di chuyển sang trái bằng số bit được chỉ định bởi toán hạng bên phải.

Đây là một ví dụ về toán tử dịch trái trong ngôn ngữ C,

Ví dụ

#include <stdio.h>

int main() {
   int y = 28; // 11100
   int i = 0;

   for(i;i<=3;++i)
   printf("Left shift by %d: %d\n", i, y<<i);

   return 0;
}

Đầu ra

Đây là kết quả

Left shift by 0: 28
Left shift by 1: 56
Left shift by 2: 112
Left shift by 3: 224

Shift phải

Trong toán tử dịch phải, giá trị toán hạng bên trái được di chuyển sang phải theo số bit được chỉ định bởi toán hạng bên phải.

Đây là một ví dụ về toán tử dịch phải trong ngôn ngữ C,

Ví dụ

#include <stdio.h>

int main() {
   int x = 10; // 1010
   int i = 0;

   for(i;i<2;i++)
   printf("Right shift by %d: %d\n", i, x>>i);

   return 0;
}

Đầu ra

Đây là kết quả

Right shift by 0: 10
Right shift by 1: 5