Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C để xoay các bit cho một số nhất định

Hãy xem xét các yếu tố được đưa ra dưới đây để viết một chương trình C để xoay các bit cho một số nhất định.

  • Xoay bit từ trái sang phải hoặc từ phải sang trái.

  • Khi xoay trái, các bit được chuyển từ trái sang phải.

  • Khi xoay phải, các bit được chuyển từ phải sang trái.

  • Lấy một số và cố gắng xoay trái hoặc phải dựa trên chương trình người dùng.

  • Người dùng phải nhập vòng quay số tại thời gian chạy cùng với một số.

Chương trình 1

Sau đây là chương trình C để áp dụng xoay trái cho một số nhất định.

#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;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Enter any number:12
Enter number of rotations:
2
After Left rotation the value is = 48

Chương trình 2

Dưới đây là chương trình C để áp dụng xoay phải cho một số nhất định.

#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;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Enter any number:18
Enter number of rotations:
2
After right rotation the value is = 4