fork download
  1. #include <stdio.h>
  2.  
  3. * --- PRINTF_BYTE_TO_BINARY macro's --- */
  4. #define PRINTF_BINARY_PATTERN_INT8 "%c%c%c%c%c%c%c%c"
  5. #define PRINTF_BYTE_TO_BINARY_INT8(i) \
  6. (((i) & 0x80ll) ? '1' : '0'), \
  7. (((i) & 0x40ll) ? '1' : '0'), \
  8. (((i) & 0x20ll) ? '1' : '0'), \
  9. (((i) & 0x10ll) ? '1' : '0'), \
  10. (((i) & 0x08ll) ? '1' : '0'), \
  11. (((i) & 0x04ll) ? '1' : '0'), \
  12. (((i) & 0x02ll) ? '1' : '0'), \
  13. (((i) & 0x01ll) ? '1' : '0')
  14.  
  15. #define PRINTF_BINARY_PATTERN_INT16 \
  16. PRINTF_BINARY_PATTERN_INT8 PRINTF_BINARY_PATTERN_INT8
  17. #define PRINTF_BYTE_TO_BINARY_INT16(i) \
  18. PRINTF_BYTE_TO_BINARY_INT8((i) >> 8), PRINTF_BYTE_TO_BINARY_INT8(i)
  19. #define PRINTF_BINARY_PATTERN_INT32 \
  20. PRINTF_BINARY_PATTERN_INT16 PRINTF_BINARY_PATTERN_INT16
  21. #define PRINTF_BYTE_TO_BINARY_INT32(i) \
  22. PRINTF_BYTE_TO_BINARY_INT16((i) >> 16), PRINTF_BYTE_TO_BINARY_INT16(i)
  23. #define PRINTF_BINARY_PATTERN_INT64 \
  24. PRINTF_BINARY_PATTERN_INT32 PRINTF_BINARY_PATTERN_INT32
  25. #define PRINTF_BYTE_TO_BINARY_INT64(i) \
  26. PRINTF_BYTE_TO_BINARY_INT32((i) >> 32), PRINTF_BYTE_TO_BINARY_INT32(i)
  27. /* --- end macros --- */
  28.  
  29. #include <stdio.h>
  30. int main() {
  31. long long int flag = 1648646756487983144ll;
  32. printf("My Flag 64"
  33. PRINTF_BINARY_PATTERN_INT64 "\n",
  34. PRINTF_BYTE_TO_BINARY_INT64(flag));
  35. printf("My Flag "
  36. PRINTF_BINARY_PATTERN_INT64 "\n",
  37. PRINTF_BYTE_TO_BINARY_INT64(0));
  38. printf("My Flag 8"
  39. PRINTF_BINARY_PATTERN_INT8 "\n",
  40. PRINTF_BYTE_TO_BINARY_INT8(0));
  41. printf("My Flag 8"
  42. PRINTF_BINARY_PATTERN_INT8 "\n",
  43. PRINTF_BYTE_TO_BINARY_INT8(50));
  44. return 0;
  45. }
Compilation error #stdin compilation error #stdout 0s 4888KB
stdin
Standard input is empty
compilation info
prog.c:3:3: error: expected identifier or ‘(’ before ‘--’ token
 * --- PRINTF_BYTE_TO_BINARY macro's --- */
   ^~
prog.c:3:34: warning: missing terminating ' character
 * --- PRINTF_BYTE_TO_BINARY macro's --- */
                                  ^
prog.c:3:34: error: missing terminating ' character
 * --- PRINTF_BYTE_TO_BINARY macro's --- */
                                  ^~~~~~~~~
stdout
Standard output is empty