[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: spurious C warnings..

Digby Tarvin wrote:
Hi Mike,

Nice explanation - thanks!.

I originally learned C on PDP11's using K&R, and later on a
6809 home system - so I still tend to avoid making assumptions
about the size of an int...

Good policy. But "back in the day" there wasn't much difference
made between an unsigned int and a char *. I've used a couple of
machines in which they were different sizes, and on one machine a NULL
pointer could have the value 0x80000000, while an int was
16 bits.

Anyway, your explanation makes sense.

Yeah, especially for floats that is needed. I mean,
a long long has more bits which can't be generated out
of nothing. So 0.1L has more significant bits in it
than 0.1, and there you go.

Is the standard available online somewhere?

Yes and no. It may be *purchased* online. There are also
draft copies online which are free, but are not *exactly*
what was adopted as the final draft. Look for N9724.pdf and
N9724.txt with Google, or I can shoot you an e-mail with
a copy of either, as these are the last drafts before
adoption. AIUI, there is very little difference in wording,
and no difference in semantics.

This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!

Reply to: