/* * bool-operations.c * * Author: Intel A80486DX2-66 * License: Unlicense */ #include #include #include #include #define BOOL_TO_STR(x) ((x) ? "true" : "false") #define SHOW_BOOL printf("boolean = %s\t(0x%" PRIxMAX ")\n", \ BOOL_TO_STR(boolean), \ (uintmax_t) boolean) int main(void) { bool boolean = false; printf("Loop:\n"); for (uint8_t i = 0; i < 3; i++) { SHOW_BOOL; boolean++; } printf("\n* 2:\n"); boolean *= 2; SHOW_BOOL; printf("\n<< 1:\n"); boolean <<= 1; SHOW_BOOL; printf("\n/ 2:\n"); boolean /= 2; SHOW_BOOL; printf("\n^ 0x10:\n"); boolean ^= 0x10; SHOW_BOOL; printf("\n>> 1:\n"); boolean >>= 1; SHOW_BOOL; return 0; }