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
floatvariables:num1,num2, andsum. - We assign values
3.14and-7.5tonum1andnum2respectively. - The sum of these two numbers is stored in the
sumvariable. - We use
printf()with the%.2fformat 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
floatcan store. - How to retrieve these values using
float.h.
