fork download
  1. #include <stdio.h>
  2. #include <stdint.h>
  3. #include <stdbool.h>
  4.  
  5. typedef int64_t profiler_tick_t;
  6.  
  7. static inline bool profiler_tick_t_is_signed(void)
  8. {
  9. profiler_tick_t const t = -1;
  10. return t < 0;
  11. }
  12.  
  13. #define PROFILER_TICK_T_MAX \
  14.   (profiler_tick_t_is_signed() \
  15.   ? (sizeof(profiler_tick_t) == 4 ? 0x7FFFFFFF : 0x7FFFFFFFFFFFFFFF) \
  16.   : (sizeof(profiler_tick_t) == 4 ? 0xFFFFFFFF : 0xFFFFFFFFFFFFFFFF))
  17.  
  18. int main(void) {
  19. // your code goes here
  20. printf("profiler_tick_t_is_signed returned %u\n", profiler_tick_t_is_signed());
  21. printf("PROFILER_TICK_T_MAX = %llu, %lld\n", PROFILER_TICK_T_MAX, PROFILER_TICK_T_MAX);
  22. return 0;
  23. }
  24.  
Success #stdin #stdout 0.01s 5280KB
stdin
Standard input is empty
stdout
profiler_tick_t_is_signed returned 1
PROFILER_TICK_T_MAX = 9223372036854775807, 9223372036854775807