In this tutorial, we will learn about float and double data types, which are used to store numbers with decimal points. These data types are different from integers and are useful for applications that deal with real numbers.

Introduction

Many real-life applications require storing numbers with decimal points. To accommodate this, the C programming language offers special data types called float and double. Let’s take a closer look at each data type and understand their differences.

Float

The float data type is used to represent floating-point numbers, which are numbers with at least one digit after the decimal point. Float is suitable when high precision is not crucial. For example, if we need to represent a value with one or two decimal places, it’s a good idea to store it as a float. A float occupies 32 bits (4 bytes) of memory and follows the IEEE standard 754 specification used by most modern computers. It is also referred to as a single-precision floating-point data type and can provide precision up to 6 digits after the decimal point.

Please note that understanding the internal representation of floating-point numbers by modern computers (IEEE 754) is beyond the scope of this tutorial. I will create a separate tutorial in the future to explain it in detail.

To declare a float variable, use the following syntax:

float variable_name;

Double

Similar to the float data type, double is also used to represent floating-point numbers but with greater precision. A double occupies 64 bits (8 bytes) of memory and follows the same IEEE 754 standard used by most modern computers. It provides precision up to 15 decimal digits.

To declare a double variable, use the following syntax:

double variable_name;

The following example illustrates the difference in precision between float and double data types:

In this program, two variables, var1 and var2, are declared as float and double respectively. Both variables are assigned the value of pi up to 11 decimal digits. The format specifiers used for float and double are %f and %lf respectively. Please note that %f is also the correct format specifier for double in the printf function. The .12 in the format specifier ensures that the output is displayed up to 12 decimal digits.

From the output, we can observe that the double value has higher precision compared to the float value, which is limited to 6 decimal places.

Summary

In this tutorial, we learned about the float and double data types in C programming, which are used to store decimal numbers. Float is suitable for situations where precision is not critical and provides up to 6 digits after the decimal point. Double, on the other hand, offers greater precision with up to 15 decimal digits. Both types follow the IEEE 754 standard used by most modern computers. Moreover, we saw the syntax for declaring float and double variables and an example that demonstrates the difference in precision between the two types.

## Leave a comment