> 1 is signed. 1u is unsigned (see 6.4.4.1). 0x80000000 doesn't
> fit in an int so it is an unsigned int. 0x100000000 won't fit
> in an unsigned int so it will pick the next type in the table
> that is big enough, which is long long int. Nice, eh?!

ah!  i had just forgotten about the "too big to fit into an int,
make unsigned" rule.  it all makes sense, now.  but man is it
annoying to convert code from 32 to 64 bits.

you hear bats. you feel a draft. you smell a wumpus.  ...
ah, that's the c type system.

- erik

Reply via email to