fork(5) download
  1. #include <stdio.h>
  2.  
  3.  
  4. unsigned long bitReverse(unsigned long value)
  5. {
  6. unsigned long result = 0;
  7. while (value)
  8. {
  9. /* make space by shifting left on the result */
  10. result <<= 1;
  11. /* add the low bit in to the space */
  12. result |= value & 1;
  13. /* get a new low bit. */
  14. value >>= 1;
  15. }
  16. return result;
  17. }
  18.  
  19. int main(void) {
  20. for (unsigned long i = 1; i < 100; i++) {
  21. printf("In %lu out %lu\n", i, bitReverse(i));
  22. }
  23. return 0;
  24. }
  25.  
Success #stdin #stdout 0s 2292KB
stdin
Standard input is empty
stdout
In 1 out 1
In 2 out 1
In 3 out 3
In 4 out 1
In 5 out 5
In 6 out 3
In 7 out 7
In 8 out 1
In 9 out 9
In 10 out 5
In 11 out 13
In 12 out 3
In 13 out 11
In 14 out 7
In 15 out 15
In 16 out 1
In 17 out 17
In 18 out 9
In 19 out 25
In 20 out 5
In 21 out 21
In 22 out 13
In 23 out 29
In 24 out 3
In 25 out 19
In 26 out 11
In 27 out 27
In 28 out 7
In 29 out 23
In 30 out 15
In 31 out 31
In 32 out 1
In 33 out 33
In 34 out 17
In 35 out 49
In 36 out 9
In 37 out 41
In 38 out 25
In 39 out 57
In 40 out 5
In 41 out 37
In 42 out 21
In 43 out 53
In 44 out 13
In 45 out 45
In 46 out 29
In 47 out 61
In 48 out 3
In 49 out 35
In 50 out 19
In 51 out 51
In 52 out 11
In 53 out 43
In 54 out 27
In 55 out 59
In 56 out 7
In 57 out 39
In 58 out 23
In 59 out 55
In 60 out 15
In 61 out 47
In 62 out 31
In 63 out 63
In 64 out 1
In 65 out 65
In 66 out 33
In 67 out 97
In 68 out 17
In 69 out 81
In 70 out 49
In 71 out 113
In 72 out 9
In 73 out 73
In 74 out 41
In 75 out 105
In 76 out 25
In 77 out 89
In 78 out 57
In 79 out 121
In 80 out 5
In 81 out 69
In 82 out 37
In 83 out 101
In 84 out 21
In 85 out 85
In 86 out 53
In 87 out 117
In 88 out 13
In 89 out 77
In 90 out 45
In 91 out 109
In 92 out 29
In 93 out 93
In 94 out 61
In 95 out 125
In 96 out 3
In 97 out 67
In 98 out 35
In 99 out 99