Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Arbeiten mit Gleitkommazahlen | Numerische Datentypen
C++ Datentypen

bookArbeiten mit Gleitkommazahlen

The numbers do not end with integers. There are also floating-point numbers. In C++, we use float and double data types to store them. This chapter will cover the float data type, while the next will address the double data type and its distinctions. Below is the syntax for the usage of float:

float.h

float.h

copy
1
float num = 0.45;

Let's take a quick look at how floating-point numbers are stored in memory.
The float data type takes up 4 bytes of memory, just like an int. However, converting such numbers to binary code is much trickier:

Here is an example of how float num = 13.45 would be stored:

It is okay if you do not entirely understand what is happening here. The important thing to note is that the representation of a float is split into 3 parts:

  • the sign component is represented by either a plus (+) or minus (-) symbol. It indicates whether a number is positive or negative;

  • the exponent component determines the range that a number can represent. The larger the exponent, the wider the range of values that can be represented. For the float data type, the exponent occupies 1 byte (8 bits) of memory;

  • the mantissa component determines the precision of a float. Not all numbers can be exactly represented in memory, and the precision of a number is defined by the length of the mantissa. For the float data type, the mantissa length is 23 bits.

As a result, float has a precision of 7 decimal digits and a range of 1.2e-38 to 3.4e+38 (applies to both negative and positive numbers). So most of the time, the range is not a problem. But precision sometimes is.

question mark

What is the maximum number of decimal digits that a float can accurately represent?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

bookArbeiten mit Gleitkommazahlen

Swipe um das Menü anzuzeigen

The numbers do not end with integers. There are also floating-point numbers. In C++, we use float and double data types to store them. This chapter will cover the float data type, while the next will address the double data type and its distinctions. Below is the syntax for the usage of float:

float.h

float.h

copy
1
float num = 0.45;

Let's take a quick look at how floating-point numbers are stored in memory.
The float data type takes up 4 bytes of memory, just like an int. However, converting such numbers to binary code is much trickier:

Here is an example of how float num = 13.45 would be stored:

It is okay if you do not entirely understand what is happening here. The important thing to note is that the representation of a float is split into 3 parts:

  • the sign component is represented by either a plus (+) or minus (-) symbol. It indicates whether a number is positive or negative;

  • the exponent component determines the range that a number can represent. The larger the exponent, the wider the range of values that can be represented. For the float data type, the exponent occupies 1 byte (8 bits) of memory;

  • the mantissa component determines the precision of a float. Not all numbers can be exactly represented in memory, and the precision of a number is defined by the length of the mantissa. For the float data type, the mantissa length is 23 bits.

As a result, float has a precision of 7 decimal digits and a range of 1.2e-38 to 3.4e+38 (applies to both negative and positive numbers). So most of the time, the range is not a problem. But precision sometimes is.

question mark

What is the maximum number of decimal digits that a float can accurately represent?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
some-alt