किसी दिए गए नंबर के बिट्स को घुमाने के लिए C प्रोग्राम लिखने के लिए नीचे दिए गए कारकों पर विचार करें।
-
बिट को बाएँ से दाएँ या दाएँ से बाएँ घुमाते हुए।
-
बाएँ घुमाव में, बिट्स को बाएँ से दाएँ स्थानांतरित किया जाता है।
-
दाएँ घुमाव में, बिट्स को दाएँ से बाएँ स्थानांतरित किया जाता है।
-
एक नंबर लें और उपयोगकर्ता प्रोग्राम के आधार पर बाएँ या दाएँ घुमाने की कोशिश करें।
-
उपयोगकर्ता को एक नंबर के साथ रन टाइम पर नंबर रोटेशन दर्ज करना होगा।
कार्यक्रम 1
बाएं घुमाव लागू करने के लिए C प्रोग्राम निम्नलिखित है:किसी दिए गए नंबर के लिए।
#include<stdio.h> #include<stdlib.h> int main(){ int number, rotate, Msb, size; printf("Enter any number:"); scanf("%d",&number); printf("Enter number of rotations:\n"); scanf("%d",&rotate); size = sizeof(int) * 8; rotate %= size; while(rotate--){ Msb = (number >> size) & 1; number = (number << 1) | Msb; } printf("After Left rotation the value is = %d\n",number); return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Enter any number:12 Enter number of rotations: 2 After Left rotation the value is = 48है
कार्यक्रम 2
राइट रोटेशन लागू करने के लिए C प्रोग्राम नीचे दिया गया है किसी दिए गए नंबर के लिए।
#include<stdio.h> #include<stdlib.h> int main(){ int number,rotate, Lsb, size; printf("Enter any number:"); scanf("%d",&number); printf("Enter number of rotations:\n"); scanf("%d",&rotate); size = sizeof(int) * 8; rotate %= size; while(rotate--){ Lsb = number & 1; number = (number >> 1) &(~(1<<size)); number=number|(Lsb<<size); } printf("After right rotation the value is = %d\n",number); return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Enter any number:18 Enter number of rotations: 2 After right rotation the value is = 4है