fork(3) download
  1. #include <stdio.h>
  2.  
  3. unsigned int invert( unsigned int x, int p, int n)
  4. {
  5. unsigned int t = ((1u<<n)-1u)<<p;
  6. printf( "x = %x, n = %d, p = %d\n", x, n, p);
  7. printf( "(1u<<n) = %x\n", (1u<<n));
  8. printf( "((1u<<n)-1u) = %x\n", ((1u<<n)-1u));
  9. printf( "((1u<<n)-1u)<<p = %x\n", ((1u<<n)-1u)<<p);
  10. return x ^ t;
  11. }
  12.  
  13. int main( void )
  14. {
  15. unsigned int x = 0xffffffffu;
  16. printf( "x = %x\n", invert( x, 0, 32));
  17. return 0;
  18. }
  19.  
Success #stdin #stdout 0s 2292KB
stdin
Standard input is empty
stdout
x = ffffffff, n = 32, p = 0
(1u<<n) = 1
((1u<<n)-1u) = 0
((1u<<n)-1u)<<p = 0
x = ffffffff