Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdio.h"
- int gt(int a, int b) {
- int xor = a ^ b;
- int i;
- for (i = 1; i <= 16; i *= 2)
- xor |= xor >> i;
- xor &= (0x80000000 | ~(xor >> 1))
- & ((0x80000000 ^ a)
- & (0x7fffffff ^ b));
- return !!xor; // <-- double negation to give us 0 or 1
- // get ride of it for 0 or N > 0
- }
- int main(void) {
- // Disable stdout buffering
- setvbuf(stdout, NULL, _IONBF, 0);
- printf("%d\n", gt(8, 6));
- printf("%d\n", gt(8000, 6));
- printf("%d\n", gt(-8, -60));
- printf("%d\n", gt(6, 8));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement