Next: Range of Type, Up: Data Type Measurements
The most common reason that a program needs to know how many bits are in
an integer type is for using an array of long int as a bit vector.
You can access the bit at index n with
vector[n / LONGBITS] & (1 << (n % LONGBITS))
provided you define LONGBITS as the number of bits in a
long int.
There is no operator in the C language that can give you the number of
bits in an integer data type. But you can compute it from the macro
CHAR_BIT, defined in the header file limits.h.
CHAR_BITchar—eight, on most systems.
The value has type int.
You can compute the number of bits in any data type type like this:
sizeof (type) * CHAR_BIT