주어진 숫자에 대해 비트를 회전시키는 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