1. x & -1 == x True INT_MAX + INT_MIN == 0 False x > 0 => x + INT_MAX < 0 True x + -x == 0 True (ux >> 1) == (x >> 1) Some (ux > uy) => (x > y) Some ux > INT_MIN Some sy == y True ((unsigned) sy) == uy Some (~x + 1) == ~(x - 1) True x >> 4 == x / 16 Some ux & 255 == ux % 256 True 2. Largest Denormalized 0 000 11 0x03 3/4 -2 3/16 Largest Normalized 0 110 11 0x1B 1 3/4 3 14 NAN 1 111 01 0x3D ----- -- ---- ------ 0 100 10 0x12 1 1/2 1 3 2.0 + 0.375 0 100 01 0x11 1 1/4 1 2 1/2 3 * 3 0 110 00 0x18 1 3 8 3. int foo(int x, int y) { int result; result = 0; while (x <= y) { result += x*x; x++; } return result; } 4. 0xbffff6e4 0x00000002 n 0xbffff6e0 0xbffff704 val 0xbffff6dc 0x080483ff return address 0xbffff6d8 0xbffff708 pushed %ebp 0xbffff6d4 n/a 0xbffff6d0 n/a 0xbffff6cc n/a 0xbffff6c8 n/a 0xbffff6c4 n/a 0xbffff6c0 n/a ebx 0xbffff6bc n/a 0xbffff6b8 n/a 0xbffff6b4 0x00000001 n-1 0xbffff6b0 0xbffff704 val 0xbffff6ac 0x080483d7 return address 0xbffff6a8 0xbffff6d8 pushed %ebp C. Answer: 0x80483cd 5. 1. 0 2. 0 3. 4 4. 8 5. 16 6. 16 7. 64 8. 32 9. 32 10. 2 11. 20 12. 64 6. 00 00 00 00 00 00 00 00 fc ff ff ff