fork download
  1. #include <stdio.h>
  2.  
  3. int sgn(int v) {
  4. return (!!v) | (v >> 31);
  5. }
  6. int sgn2(int v) {
  7. return (!!v);
  8. }
  9.  
  10. int main(void) {
  11. for (int i = -10 ; i != 11 ; i++) {
  12. printf("%d : %d\n", i, sgn(i));
  13. printf("%d : %d\n", i, sgn2(i));
  14. }
  15. return 0;
  16. }
  17.  
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
-10 : -1
-10 : 1
-9 : -1
-9 : 1
-8 : -1
-8 : 1
-7 : -1
-7 : 1
-6 : -1
-6 : 1
-5 : -1
-5 : 1
-4 : -1
-4 : 1
-3 : -1
-3 : 1
-2 : -1
-2 : 1
-1 : -1
-1 : 1
0 : 0
0 : 0
1 : 1
1 : 1
2 : 1
2 : 1
3 : 1
3 : 1
4 : 1
4 : 1
5 : 1
5 : 1
6 : 1
6 : 1
7 : 1
7 : 1
8 : 1
8 : 1
9 : 1
9 : 1
10 : 1
10 : 1