Author: Dieter Buerssner
Date: 14:34:32 05/08/02
Go up one level in this thread
On May 08, 2002 at 16:07:54, martin fierz wrote:
>in C, you have the easy option of defining a bitfield:
>
>struct
> {
> int i:10;
> unsigned int j:10;
> int k:12;
> }
It first seemed all clear. But then I looked up in the draft for the ISO C
Standard of 99, which confused me.
Under: 6.7.2.1 Structure and union specifiers
8 A bit-field shall have a type that is a qualified or unqualified version of
_Bool, signed int,or unsigned int. A bit-field is interpreted as a signed or
unsigned integer type consisting of the specified number of bits.95) If the
value 0 or 1 is stored into a nonzero-width bit-field of type _Bool, the value
of the bit-field shall compare equal to the value stored.
And footnote 95 reads:
95) As specified in 6.7.2 above, if the actual type specifier used is int or a
typedef-name defined as int, then it is implementation-defined whether the
bit-field is signed or unsigned.
So, it seems, that one really would need to write signed int instead of int. Or
am I misunderstanding something here?
Regards,
Dieter
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.