একটি প্রদত্ত সংখ্যার জন্য বিটগুলি ঘোরানোর জন্য একটি সি প্রোগ্রাম লিখতে নীচের বিষয়গুলি বিবেচনা করুন৷
-
বাম থেকে ডানে বা ডান থেকে বামে বিট ঘোরানো।
-
বাম ঘূর্ণনে, বিটগুলি বাম থেকে ডানে স্থানান্তরিত হয়।
-
ডান ঘূর্ণনে, বিটগুলি ডান থেকে বামে স্থানান্তরিত হয়।
-
একটি সংখ্যা নিন এবং ব্যবহারকারী প্রোগ্রামের উপর ভিত্তি করে বাম বা ডানে ঘোরানোর চেষ্টা করুন।
-
ব্যবহারকারীকে একটি সংখ্যার সাথে রান টাইমে নম্বর ঘূর্ণন লিখতে হবে।
প্রোগ্রাম 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