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.
Type | Storage Size |
---|---|
double | 8 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
#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:
- We declare three
double
variables:num1
,num2
, andsum
. - We assign values 3.1415926535 and -98.7654 to
num1
andnum2
respectively. - The sum of these two numbers is stored in the
sum
variable. - We print the values of
num1
,num2
, andsum
usingprintf()
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
#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 Size | Minimum Value | Maximum 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
#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:
- Its ability to store floating-point numbers with higher precision.
- Its typical storage size of 8 bytes.
- How to get the storage size programmatically using
sizeof()
. - The minimum and maximum values it can store.
- How to retrieve these values using
float.h
.
The double
data type is widely used for precise calculations in scientific and engineering applications.