Home » Range of Int in C

Range of Int in C

In this article, we are going to discuss the range of int in C with programs.

Range of Int

Data types, and their size and range, play an important role in C programming. The sizeof() operator gives the number of bytes required to store a value in memory of a specific form. However, to prevent overflow and underflow errors in programming, we must be aware of a type’s range. C specifies the exact minimum storage size for each integer form. For example, short requires at least two bytes, and long requires at least four bytes. The compiler determines the size and range of a data type. As a result, we should not hardcode the size and range values in the program.

Find a range of data types manually without a C library

The given formula defines the minimum and maximum range of a signed type:

  • -(2N-1) to 2N-1 – 1 (Where N is sizeof(type) * 8 (it is the total number of bits used by integer type)).

The given formula defines the minimum and maximum range of an unsigned type:

  • 0 to (2N-1) + (2N-1 – 1)

Examples:

Let’s take an example to find the range of integers in C programming.

Output: After executing this code, we will get the output as shown below:

Range of int = -2147483648 to 2147483647  Range of unsigned int = 0 to 4294967295  Range of char = -128 to 127  Range of unsigned char = 0 to 255  Range of long = -9223372036854775808 to 9223372036854775807  Range of unsigned long = 0 to 18446744073709551615  Range of short = -32768 to 32767  Range of unsigned short = 0 to 65535  Range of long long = -9223372036854775808 to 9223372036854775807  Range of unsigned long long = 0 to 18446744073709551615  

Find the range of data types using a C library

The method described above for obtaining any form of the range is interesting, but it is not recommended for use. Using the power of a pre-defined C library is often recommended.

Limits.h and float.h are two header files in C programming that define minimum and maximum constants. limits.h specifies constants for integer type and character types. Small and maximum size ranges, total bits, and many others. The float.h defines the floating-point numbers.

Example:

Now, let’s take an example to understand how we can find the range of integers by using the C library.

Output: After executing this above code, we will get the output as shown below:

The output is:

Range of signed int -2147483648 to 2147483647  Range of unsigned int 0 to 4294967295  Range of signed char -128 to 127  Range of unsigned char 0 to 255  Range of signed long int -9223372036854775808 to 9223372036854775807  Range of unsigned long int 0 to 18446744073709551615  Range of signed short int -32768 to 32767  Range of unsigned short int 0 to 65535  Range of float 1.175494e-38 to 3.402823e+38  Range of double 2.225074e-308 to 1.797693e+308  Range of long double 3.362103e-4932 to 1.189731e+4932  

Example:

Write a program that reads an integer type and checks it against the given range to see where it belongs.

Output: After executing this above code, we will get the output as shown below:

The Output is:

Input an integer: 28  Range [26,50]  

Example:

The sizeof() operator is used to determine the size of an integer form or some other type. The given below program shows how to use the sizeof() operator to determine the sizes of various integer types in the system.

Output: After executing this above code, we will get the output as shown below:

The output is:

sizeof(short) = 2 bytes  sizeof(int) = 4 bytes  sizeof(unsigned int) = 4 bytes  sizeof(long) = 8 bytes  

You may also like