fork download
  1. #include <stdio.h>
  2.  
  3. static void print_binary_unsigned(unsigned int x)
  4. {
  5. if (x) {
  6. if (x >> 1)
  7. print_binary_unsigned(x >> 1);
  8. putchar(x & 1 ? '1' : '0');
  9. }
  10. else {
  11. putchar('0');
  12. }
  13. }
  14.  
  15. static void print_binary(int x)
  16. {
  17. if (x < 0) {
  18. putchar('-');
  19. return print_binary_unsigned(-(unsigned int)x);
  20. }
  21. return print_binary_unsigned(x);
  22. }
  23.  
  24.  
  25. int main(void)
  26. {
  27. int x;
  28. scanf("%d", &x);
  29. print_binary(x);
  30. }
Success #stdin #stdout 0s 10304KB
stdin
-1
stdout
-1