fork download
  1. #include <stdio.h>
  2. #include <memory.h>
  3.  
  4. void printbits(unsigned int x);
  5. unsigned rightrot(unsigned x, int n);
  6.  
  7.  
  8. int main(void){
  9. int i;
  10. unsigned int x = 0xFF30;
  11.  
  12. printbits(x);
  13.  
  14. for(i = 1; i < 16; i++)
  15. printbits(rightrot(x, i));
  16.  
  17. return 0;
  18. }
  19.  
  20. unsigned rightrot(unsigned x, int n){
  21. while(n > 0){
  22. if(x&1){
  23. x = x >> 1;
  24. x |= (1 << 16);
  25. }else x = x >> 1;
  26. n--;
  27. }
  28. return x;
  29. }
  30.  
  31. void printbits(unsigned int x){
  32. int i;
  33. int mask = 0x1;
  34.  
  35. for(i = 15; i >= 0; i--){
  36. printf("%d", (x >> i) & mask);
  37. if((i % 4) == 0) putchar(' ');
  38. }
  39. putchar('\n');
  40. }
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
1111 1111 0011 0000 
0111 1111 1001 1000 
0011 1111 1100 1100 
0001 1111 1110 0110 
0000 1111 1111 0011 
0000 0111 1111 1001 
1000 0011 1111 1100 
1100 0001 1111 1110 
0110 0000 1111 1111 
0011 0000 0111 1111 
1001 1000 0011 1111 
1100 1100 0001 1111 
1110 0110 0000 1111 
1111 0011 0000 0111 
1111 1001 1000 0011 
1111 1100 1100 0001