typeof and bitfields
Andrew Haley
aph@redhat.com
Fri Jan 14 20:28:00 GMT 2005
Dave Korn writes:
>
> While we're on the subject, I've always been curious what on earth the meaning
> of
>
> struct foo {
> int bar : 1;
> };
>
> could possibly mean. What are the range of values in a 1-bit
> signed int? Is that 1 bit the sign bit or the value field? Can
> bar hold the values 0 and 1, or 0 and -1, or some other set? (+1
> and -1,
That one.
> maybe, or perhaps the only two values it can hold are +0
> and -0?) In a one bit field, the twos-complement operation
> degenerates into the identity - how can the concept of signed
> arithmetic retain any coherency in this case?
It's the ring of integers modulo 2. In that ring,
-1 == 1 (mod 2)
^ is congruent to
I don't think there's anything particularly weird about it from a
number theory point of view.
Andrew.
More information about the Gcc
mailing list