fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4.  
  5. int x = -8;
  6. int y = -8;
  7.  
  8. int maskX = x >> 31;
  9. int maskY = y >> 31;
  10. printf("%d\n", maskX);
  11. printf("%d\n", maskY);
  12. int maskXY = maskX ^ maskY;
  13. printf("%d\n", maskXY);
  14. int maskXYY = maskY & maskXY;
  15. printf("%d\n", maskXYY);
  16.  
  17. int sum = x + (~y);
  18. sum = sum + 1;
  19.  
  20. int maskSum = sum >> 31;
  21. printf("%d\n", maskSum);
  22. x = maskXYY | (maskSum | (maskXY ^ maskXYY));
  23.  
  24. printf("%d\n", !!x);
  25. return 0;
  26. }
  27.  
Success #stdin #stdout 0s 2112KB
stdin
Standard input is empty
stdout
-1
-1
0
0
0
0