- Integral data types include all whole numbers, that is numbers not having any fractional component.
- The bits of integral types are interpreted as simple powers of two:
- The right-most bit, known as the
**least significant bit**, represents the number of 1s. ( 2^0 ) - The next bit represents the number of 2s. ( 2^1 )
- The next bit represents the number of 4s. ( 2^2 )
- The next bit represents the number of 8s. ( 2^3 )
- In general the nth bit from the right represents 2^(n-1)

- The right-most bit, known as the
- For unsigned integral types, the leftmost bit, known as the
**most significant bit**, represents 2^(N-1), where N is the total number of bits in the data item.- The range of possible values for an unsigned integer of N bits is from 0 to 2^N - 1. ( All 0s to all 1s )
- So for example, a 4-bit unsigned integer could range from 0 to 15, and an 8-bit unsigned integer could range from 0 to 255.

- For signed integral types, the leftmost bit can be thought of as representing a
**negative**2^(N-1).- ( The real interpretation in the computer is more complicated, but if you think of it this way you will get the right answers. )
- The most negative value would be the first bit a 1 and all other bits 0s, yielding negative 2^(N-1).
- The most positive value would be the first bit a 0 and all other bits 1s, yielding 2^(N-1) - 1.
- So for example, a 4-bit signed integer could range from -8 to +7, and an 8-bit signed integer could range from -128 to +127.
- A signed integral type having all bits 1 is equal to -1, regardless of how many bits are in the number.

- Signed and unsigned integers with the same number of total bits have the same number of different possible values.
- Unsigned integers use one bit pattern ( all 0s ) to represent zero and all others to represent positive values.
- Signed integers use half of the possible bit patterns to represent negative numbers, one pattern to represent zero, and half minus 1 to represent positive values.

- Specific details of the integer types available on a particular implementation, along with the number of bits allocated to each one and their minimum and maximum allowable values can be found in the file limits.h

## int

- The most basic and commonly used integral type is "int".
- The int data type is always the "best" size for the particular computer it is running on, typically 32 bits
- Format specifiers for ints are either %d or %i, for either printf or scanf.
## long int

- A long int typically uses twice as many bits as a regular int, allowing it to hold much larger numbers.

- ( The C standard only specifies that a long cannot use a fewer number of bits than a regular int )
- printf and scanf replace %d or %i with %ld or %li to indicate the use of a long int.
- long int may also be specified as just long.
## long long int

- C99 introduces the long long int, typically having twice as many bits as a long int and printed/scanned using %lld or %lli format specifiers
## short int

- A short int may use fewer bits than a regular int, thereby saving