ปัญหา
โปรแกรมง่าย ๆ สำหรับแสดงการเลื่อนซ้าย ขวา และเสริมของตัวเลขโดยใช้ภาษา C คืออะไร
วิธีแก้ปัญหา
เลื่อนซ้าย
หากค่าของตัวแปรเลื่อนไปทางซ้ายหนึ่งครั้ง ค่าของตัวแปรจะเพิ่มขึ้นเป็นสองเท่า
ตัวอย่างเช่น a =10 จากนั้น a<<1 =20
กะขวา
หากค่าของตัวแปรถูกเลื่อนไปทางขวาหนึ่งครั้ง ค่าของตัวแปรนั้นจะกลายเป็นครึ่งหนึ่งของค่าเดิม
ตัวอย่างเช่น a =10 จากนั้น a>>1 =5
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับการดำเนินการกะ -
#include<stdio.h> main (){ int a=9; printf("Rightshift of a = %d\n",a>>1);//4// printf("Leftshift of a = %d\n",a<<1);//18// printf("Compliment of a = %d\n",~a);//-[9+1]// printf("Rightshift by 2 of a = %d\n",a>>2);//2// printf("Leftshift by 2 of a = %d\n",a<<2);//36// }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
Rightshift of a = 4 Leftshift of a = 18 Compliment of a = -10 Rightshift by 2 of a = 2 Leftshift by 2 of a = 36