/* * A simple program that demonstrates overflow in signed and unsigned ints. * */ #include int main(int argc, char* argv[]) { int a = 0x7FFFFFFF; unsigned int b = 0xFFFFFFFF; printf("a has hex value a = 0x%x\n", a); printf("b has hex value b = 0x%x\n", b); printf("Demonstration of overflow:\n"); printf("a is an int. a = %d\ta+1 = %d\n", a, a+1); printf("b is an unsigned int. b = %u\tb+1 = %u\n", b, b+1); printf("What happens when we interpret a as an unsigned int?\n"); printf("a as unsigned int: a = %u\ta+1 = %u\n", a, a+1); printf("What happens when we interpret b as an int?\n"); printf("b as int: b = %d\tb+1 = %d\n", b, b+1); return 0; }