किसी दिए गए नंबर के बिट्स को घुमाने के लिए 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है