p 必须是下列值之一。
表 A–11 -fprecision 值
值 |
含义 |
---|---|
single |
舍入到 IEEE 单精度值。 |
double |
舍入到 IEEE 双精度值。 |
extended |
舍入到最大可用精度。 |
如果 p 为 single 或 double,该选项会使舍入精度模式在程序开始执行时分别设置为 single 或 double 精度。如果 p 是 extended 或未使用 –fprecision 选项,则舍入精度模式保持为 extended 精度。
在 single 精度舍入模式下,结果将舍入到 24 个有效位;在 double 精度舍入模式下,结果将舍入到 53 个有效位。在缺省的 extended 精度模式下,结果将舍入到 64 个有效位。该模式只控制在寄存器中结果的舍入精度,而不影响范围。寄存器中所有的结果都使用了各种已扩展的双精度格式来舍入。不过,存储在内存中的结果既舍入到目标格式的范围也舍入到目标格式的精度。
float 类型的标称精度为 single。long double 类型的标称精度为 extended。
如果未指定 –fprecision 选项,舍入精度模式缺省为 extended。
此选项仅对 x86 设备且仅在编译主程序时使用才有效。在 SPARC 设备上,该选项被忽略。