我正在为基本类型编写类,因此代码在多个平台和编译器上在逻辑上是相同的(例如int_least16_tfor int)。为了娱乐!(我还是一名学生。)\n我读到了这个:
\n\n\n
更糟糕的是:
\n\n\n\n
这意味着浮点可能是无符号的...
[编辑:是的,这是不同的事情,但没有:“,但必须支持负数”。哟,如果标准中没有这样的东西,它可能不支持正常的 0...(我没有规范。)请参阅]
我知道这就像__int128一样,标准只是一个标准,\n但仍然...\nIEEE-754 是 1985 年的,但有些机器可能很奇怪,\n而且一些旧硬件没有浮动单位。
\n据我了解, float 是强制性的(不像 int16_t 那样是可选的),\n但可以在任何标准中,并且任何值集都可以吗?
\n我们唯一拥有的就是一些宏 ( <cfloat>):
FLT_MIN, FLT_MAX- 即使FLT_MIN = IEEE-754::FLT_MIN, float 也可以是非 IEEE-754。\n例如 float:带有分数的翻转指数...
FLT_RADIX- 基础系统?如果是这样,可以帮忙写出准确的值。但是,float 仍然可以是 3 位或 200 位(大小)...
后续问题是: 如何检测非 IEEE-754 浮点,以及如何使用它们?
理论上,我们可以假设 c float 总是支持负数吗?