Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Beginner
Apr 24, 2000

Signed Bit Fields

A bit field can be signed or unsigned. According to the C++ standard, a signed bit field may be represented in one of three ways:
  • two's complement
  • one's complement
  • sign bit
In practice, most modern architectures use two's complement. On such systems, a signed bit field of two bits can safely hold the values -2, -1, 0, 1, 2. However, on implementations that use a sign bit, a signed bit field of two bits can hold the values -1, 0, 1.

  struct BITS
  {
    signed char a: 2; //range: -1,0 1 or -2,-1,0,1,2 depending on platform
    unsigned signed char b: 1; // possible values: 0,1
  };
If you're using signed bit fields in your apps, check how the target platform represents signed bit fields to avoid rollover bugs.

Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date