#include #include #include #include #include #include #include #include #include #ifdef __cplusplus #include #include #include #include #include #include #include #endif #define COINFLIP() (rand() % 2) int main(int argc, char const *argv[]) { uint8_t unsigned_8_bits; int8_t signed_8_bits; unsigned_8_bits = COINFLIP(); signed_8_bits = COINFLIP(); uint32_t unsigned_32_bits = unsigned_8_bits + signed_8_bits + COINFLIP(); if (COINFLIP()) { printf("%" PRIu32 "\n", unsigned_32_bits); } else { int64_t signed_64_bits = -unsigned_32_bits; printf("%" PRId64 "\n", signed_64_bits); } return 0; }