在C99中是否有固定尺寸的浮动和双重类型?

Fre*_*son 6 c floating-point c99

C99表示整数类型,如uint32_t,int16_t等,其中很容易看到使用的位数.很高兴知道嵌入式编程.

我没有找到浮点值的任何类似类型.有标准吗?如果没有,为什么?

小智 2

我在 C 中类型的任何保证的最小尺寸中找到了答案 ?

\n\n

引用 Jed Smith(带有更正的 C99 标准链接):

\n\n

float.h是的,和中的值limits.h取决于系统。您永远不应该对类型的宽度做出假设,但标准确实规定了一些最小值。请参阅C99 标准中的 \xc2\xa76.2.5 和 \xc2\xa75.2.4.2.1 。

\n\n

例如,标准仅规定 achar应足够大以容纳执行字符集中的每个字符。它没有说它有多宽。

\n\n

对于浮点情况,标准提示给出类型宽度的顺序:

\n\n

\xc2\xa76.2.5.10

\n\n
\n

存在三种实数 \xef\xac\x82oating 类型,指定为floatdoublelong\n double32 ) float类型的值集合是double类型的值集合的子集;double类型的值集是long double类型的值集的子集。

\n
\n\n

他们隐含地定义了哪个比另一个更宽,但没有具体定义它们有多宽。“子集”本身是模糊的,因为 along double可以具有与 a 完全相同的范围double并满足此子句。

\n\n

这是 C 语言的典型运行方式,每个单独的环境都有很多事情要做。你不能假设,你必须询问编译器。

\n