小编Ale*_*icz的帖子

如何检测非 IEEE-754 浮点,以及如何使用它们?

我正在为基本类型编写类,因此代码在多个平台和编译器上在逻辑上是相同的(例如int_least16_tfor int)。为了娱乐!(我还是一名学生。)\n我读到了这个:

\n
\n

float [...] 匹配 IEEE-754 binary32 格式(如果支持)。

\n
\n

更糟糕的是:

\n
\n

浮点类型可以支持特殊值:\n \xe2\x88\x9e、 NaN 或 -0

\n
\n

这意味着浮点可能是无符号的...
[编辑:是的,这是不同的事情,但没有:“,但必须支持负数”。哟,如果标准中没有这样的东西,它可能不支持正常的 0...(我没有规范。)请参阅]

\n

我知道这就像__int128一样,标准只是一个标准,\n但仍然...\nIEEE-754 是 1985 年的,但有些机器可能很奇怪,\n而且一些旧硬件没有浮动单位。

\n

据我了解, float 是强制性的(不像 int16_t 那样是可选的),\n但可以在任何标准中,并且任何值集都可以吗?

\n
\n

我们唯一拥有的就是一些宏 ( <cfloat>):

\n
    \n
  • FLT_MIN, FLT_MAX- 即使FLT_MIN = IEEE-754::FLT_MIN, float 也可以是非 IEEE-754。\n例如 float:带有分数的翻转指数...

    \n
  • \n
  • FLT_RADIX- 基础系统?如果是这样,可以帮忙写出准确的值。但是,float 仍然可以是 3 位或 200 位(大小)...

    \n …

c c++ legacy floating-point standards

4
推荐指数
1
解决办法
791
查看次数

1
推荐指数
1
解决办法
250
查看次数

标签 统计

c ×2

floating-point ×2

standards ×2

c++ ×1

language-lawyer ×1

legacy ×1