C double Data Type

In C, the double data type is used to store floating-point numbers with double precision. It allows storing real numbers with higher precision compared to the float data type and is commonly used for mathematical computations that require greater accuracy.


1. Storage Size of double Data Type

The storage size of the double data type is typically 8 bytes (64 bits), though it can vary based on the system and compiler.

TypeStorage Size
double8 bytes

2. Values Stored by double Data Type

The double data type stores floating-point numbers (numbers with decimal points) with double precision. It provides greater accuracy and a larger range compared to float.

Example values that can be stored in double:

3.14, -0.0005, 12345.6789, -987654.321

3. Example: Declaring and Using double Variables

Let’s see a simple program demonstrating how to declare and use double variables in C.

main.c

</>
Copy
#include <stdio.h>

int main() {
    double num1 = 3.1415926535;
    double num2 = -98.7654;
    double sum = num1 + num2;

    printf("Number 1: %lf\n", num1);
    printf("Number 2: %lf\n", num2);
    printf("Sum: %lf\n", sum);

    return 0;
}

Explanation:

  1. We declare three double variables: num1, num2, and sum.
  2. We assign values 3.1415926535 and -98.7654 to num1 and num2 respectively.
  3. The sum of these two numbers is stored in the sum variable.
  4. We print the values of num1, num2, and sum using printf() with %lf format specifier.

Output:

Number 1: 3.141593
Number 2: -98.765400
Sum: -95.623807

4. Checking Storage Size of double Programmatically

We can determine the storage size of double in bytes using the sizeof operator.

main.c

</>
Copy
#include <stdio.h>

int main() {
    printf("Size of double: %lu bytes\n", sizeof(double));
    return 0;
}

Output (varies based on system architecture):

Size of double: 8 bytes

5. Minimum and Maximum Values of double

The range of values a double can store depends on the system and the floating-point representation used. Typically, for an 8-byte double:

Storage SizeMinimum ValueMaximum Value
8 bytes≈ -1.7 × 10308≈ 1.7 × 10308

6. Getting Maximum and Minimum Values of double Programmatically

The maximum and minimum values of a double can be retrieved using float.h.

main.c

</>
Copy
#include <stdio.h>
#include <float.h>

int main() {
    printf("Minimum double value: %e\n", DBL_MIN);
    printf("Maximum double value: %e\n", DBL_MAX);
    return 0;
}

Output:

Minimum double value: 2.225074e-308
Maximum double value: 1.797693e+308

Conclusion

In this tutorial, we explored the double data type in C, including:

  1. Its ability to store floating-point numbers with higher precision.
  2. Its typical storage size of 8 bytes.
  3. How to get the storage size programmatically using sizeof().
  4. The minimum and maximum values it can store.
  5. How to retrieve these values using float.h.

The double data type is widely used for precise calculations in scientific and engineering applications.