समस्या
C भाषा का उपयोग करके किसी संख्या के बाएं शिफ्ट, दाएं शिफ्ट और कॉम्प्लीमेंट को दिखाने का सरल प्रोग्राम क्या है?
समाधान
बाएं शिफ्ट (Left Shift)
यदि किसी वेरिएबल का मान एक बार बाएं शिफ्ट किया जाता है, तो उसका मान दोगुना हो जाता है।
उदाहरण के लिए, a = 10, तो a<<1 = 20

दाएं शिफ्ट (Right Shift)
यदि किसी वेरिएबल का मान एक बार दाएं शिफ्ट किया जाता है, तो उसका मान मूल मान का आधा हो जाता है।
उदाहरण के लिए, 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