fork(1) download
  1. #include <stdio.h>
  2. #include <stdint.h>
  3.  
  4. uint32_t flip(uint32_t n)
  5. {
  6. if (n == 0) return 0;
  7.  
  8. uint32_t mask = (uint32_t)~0 >> __builtin_clz(n);
  9. return n ^ mask;
  10. }
  11.  
  12. int main()
  13. {
  14. printf("%#x\n", flip(0xaa55));
  15. }
  16.  
Success #stdin #stdout 0s 5428KB
stdin
Standard input is empty
stdout
0x55aa