<p>这很难。双打和浮标在C或C++标准中没有形式化,其精度取决于编译器/ CPU的实现。例如,float和double都允许相同。在</p>
< C++ 17草案(其他论文中的相似)
<a href="http://eel.is/c++draft/basic.fundamental#8" rel="nofollow noreferrer">basic.fundamental</a></p>
<blockquote>
<p>There are three floating-point types: float, double, and long double. The type double provides at least as much precision as float, and the type long double provides at least as much precision as double. The set of values of the type float is a subset of the set of values of the type double; the set of values of the type double is a subset of the set of values of the type long double. The value representation of floating-point types is implementation-defined. [ Note: This document imposes no requirements on the accuracy of floating-point operations; see also [support.limits]. — end note ]</p>
</blockquote>
<>我认为C或C++标准中没有提到{a2}。在</p>
<p>Python派生了它,其中浮点类型在C实现中被引用,而形式化是<a href="https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex" rel="nofollow noreferrer">also up to implementaion</a></p>
<blockquote>
<p>There are three distinct numeric types: integers, floating point numbers, and complex numbers. In addition, Booleans are a subtype of integers. Integers have unlimited precision. Floating point numbers are <em>usually</em> implemented using double in C; </p>
</blockquote>