C float Data Type
In C, the float
data type is used to store decimal numbers (floating-point numbers). It is commonly used when precision is needed but memory efficiency is also a concern. A float
can store real numbers with fractional parts.
The float
data type is widely used in C programming for scientific calculations, mathematical operations, and when precision is necessary.
1. Storage Size of float
Data Type
The storage size of a float
is typically 4 bytes, though this may vary based on system architecture and compiler implementation.
Type | Storage Size |
---|---|
float | 4 bytes |
2. Values Stored by float
Data Type
The float
data type stores real numbers, including both positive and negative values, with decimal points. However, since it uses a limited number of bits, it has a certain degree of precision and may not store exact values for very large or very small numbers.
Example values that can be stored in float
:
3.14, -0.005, 12345.6789, -987.65
float
in C follows the IEEE 754 single-precision floating-point format, which consists of:
- 1-bit sign
- 8-bit exponent
- 23-bit mantissa (fraction)
Sign (1 bit) | Exponent (8 bits) | Mantissa (23 bits) |
Value=(−1)Sign×(1.Mantissa) × 2Exponent−127
3. Example: Declaring and Using float
Variables
Let’s see a simple program demonstrating how to declare and use float
variables in C.
main.c
#include <stdio.h>
int main() {
float num1 = 3.14;
float num2 = -7.5;
float sum = num1 + num2;
printf("Number 1: %.2f\n", num1);
printf("Number 2: %.2f\n", num2);
printf("Sum: %.2f\n", sum);
return 0;
}
Explanation:
- We declare three
float
variables:num1
,num2
, andsum
. - We assign values
3.14
and-7.5
tonum1
andnum2
respectively. - The sum of these two numbers is stored in the
sum
variable. - We use
printf()
with the%.2f
format specifier to print the float values up to two decimal places.
Output:
Number 1: 3.14
Number 2: -7.50
Sum: -4.36
4. Checking Storage Size of float
Programmatically
We can determine the storage size of float
in bytes using the sizeof
operator.
main.c
#include <stdio.h>
int main() {
printf("Size of float: %lu bytes\n", sizeof(float));
return 0;
}
Output (varies based on system architecture):
Size of float: 4 bytes
5. Minimum and Maximum Values of float
The range of values a float
can store is much larger than an int
but with limited precision.
Storage Size | Minimum Value | Maximum Value |
---|---|---|
4 bytes | ~1.2 × 10-38 | ~3.4 × 1038 |
6. Getting Maximum and Minimum Values of float
Programmatically
The maximum and minimum values of a float
can be retrieved using float.h
.
main.c
#include <stdio.h>
#include <float.h>
int main() {
printf("Minimum float value: %E\n", FLT_MIN);
printf("Maximum float value: %E\n", FLT_MAX);
return 0;
}
Output:
Minimum float value: 1.175494E-38
Maximum float value: 3.402823E+38
Conclusion
In this tutorial, we explored the float
data type in C, including:
- Its ability to store decimal numbers with a precision of up to 6-7 decimal digits.
- Its typical storage size of 4 bytes.
- How to get the storage size programmatically using
sizeof()
. - The minimum and maximum values that
float
can store. - How to retrieve these values using
float.h
.