Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตัวดำเนินการ Shift ซ้ายและ Shift ขวาใน C/C++


เลื่อนซ้าย

ในโอเปอเรเตอร์ shift ซ้าย ค่าตัวถูกดำเนินการทางซ้ายจะถูกย้ายไปทางซ้ายตามจำนวนบิตที่ระบุโดยตัวถูกดำเนินการทางขวา

นี่คือตัวอย่างของตัวดำเนินการ shift ซ้ายในภาษา C

ตัวอย่าง

#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;
}

ผลลัพธ์

นี่คือผลลัพธ์

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

เลื่อนขวา

ในโอเปอเรเตอร์ shift ทางขวา ค่าตัวถูกดำเนินการทางซ้ายจะถูกย้ายไปทางขวาตามจำนวนบิตที่ระบุโดยตัวถูกดำเนินการทางขวา

นี่คือตัวอย่างของตัวดำเนินการกะทางขวาในภาษา C

ตัวอย่าง

#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;
}

ผลลัพธ์

นี่คือผลลัพธ์

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