How does define work?

Since 10000 * 100 is greater then 5500?

No, it isn't - it is less than zero. (16 bit arithmetic, remember)

Edit: Sorry, not less that zero, but still less than 55000 (16960, I think)