Annotation of coherent/a/usr/man/ALL/bitfields, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: bit-fields                  Definition                 bit-fields
                      4: 
                      5: 
                      6: 
                      7: 
                      8: A bit-field is  a member of a structure or  union that is defined
                      9: to be  a cluster of  bits.  It provides  a way to  represent data
                     10: compactly.  For example, in the following structure
                     11: 
                     12: 
                     13:         struct example {
                     14:                 int member1;
                     15:                 long member2;
                     16:                 unsigned int member3 :5;
                     17:         }
                     18: 
                     19: 
                     20: member3 is declared to be a bit-field that consists of five bits.
                     21: A  colon `:'  precedes the integral  constant that  indicates the
                     22: _w_i_d_t_h, or  the number of  bits in the bit-field.   Also, the bit-
                     23: field declarator  must include a type, which must  be one of int,
                     24: signed int, or unsigned int.
                     25: 
                     26: A bit-field that  is not given a name may  not be accessed.  Such
                     27: an object  is useful as  ``padding'' within an object  so that it
                     28: conforms to a template designed elsewhere.
                     29: 
                     30: A bit-field that is unnamed and  has a length of zero can be used
                     31: to force adjacent bit-fields into separate objects.  For example,
                     32: in the following structure
                     33: 
                     34: 
                     35:         struct example {
                     36:                 int member1;
                     37:                 int member2 :5;
                     38:                 int :0;
                     39:                 int member3 :5;
                     40:         };
                     41: 
                     42: 
                     43: the zero-length bit-field  forces member2 and member3 to be writ-
                     44: ten into separate objects.
                     45: 
                     46: Finally, it is illegal to take the address of a bit-field.
                     47: 
                     48: ***** See Also *****
                     49: 
                     50: bit, bit map, byte, definitions
                     51: 
                     52: ***** Notes *****
                     53: 
                     54: Because bit-fields  have many implementation-specific properties,
                     55: they are  not considered to  be highly portable.   Bit-fields use
                     56: minimal amounts of  storage, but the amount of computation needed
                     57: to  manipulate and  access them  may  negate this  benefit.  Bit-
                     58: fields  must  be  kept  in  integral-sized objects  because  many
                     59: machines  cannot directly  access a  quantity of  storage smaller
                     60: than a ``word'' (a word is generally used to store an int).
                     61: 
                     62: 
                     63: 
                     64: COHERENT Lexicon                                           Page 1
                     65: 
                     66: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.