Date: Wed, 14 Jan 1998 14:03:10 +0200 (IST) From: Eli Zaretskii To: Nate Eldredge , Noam Rotem , djgpp AT delorie DOT com Subject: Re: Bit fields in djgpp In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Wed, 14 Jan 1998, I wrote: > On Tue, 13 Jan 1998, Nate Eldredge wrote: > > > Solution: Declare the bitfields as `unsigned'. > > I'm not sure this solution is indeed required. I think what Noam > reported was due to the effect of `printf', and the actual value > stored inside the variable was correct. Sorry, I was wrong. The ANSI C Standard explicitly says that signed bit fields of size N can be used to represent values in the range [0, 2^(N-1)) so when N is 1, you cannot represent 1. You need to make it unsigned, as Nate suggested.