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