| The GNU C Library | www.imodulo.com · 2003-04-05 | ||
| [ Software | Documentation | Contact ] |
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_BITThis is the number of bits in a char--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
| © Free Software Foundation, Inc. |