6.2.5 Types of N1570 say the following:
Integer and floating types are collectively called arithmetic types. Each arithmetic type belongs to one domain of type : a domain of a real type contains real types , a domain type includes a complex of Types .
Further:
There are three real floating types , designated as float , double , and also long double . 42) A set of values of type float is a subset of a set of values of type double; a double value set is a subset of a long double value set
and
There are three complex types, designated as float _Complex , double _Complex and long double _Complex .
(note that the standard does not say anything about complex integer types, so all integer types defined in the standard belong to the domain of the real type).
Thus, it is clear that the field relates to mathematical concepts of real numbers ℝ and complex numbers ℂ .
Basically what you read in your question is that if you, for example, add a real number with an imaginary number or a complex number, the result is also a complex number; and also that the operands advance to the width of the largest operand before the operation.
source share