Oracle Solaris Studio 12.2:C++ 用户指南

A.2.24.1 值

p 必须是下列值之一。

表 A–10 -fprecision

值 

含义  

single

舍入到 IEEE 单精度值。 

double

舍入到 IEEE 双精度值。 

extended

舍入到最大可用精度。 

如果 psingledouble,该选项会使舍入精度模式在程序开始执行时分别设置为 singledouble 精度。如果 pextended 或未使用 –fprecision 选项,则舍入精度模式保持为 extended 精度。

single 精度舍入模式下,结果将舍入到 24 个有效位;在 double 精度舍入模式下,结果将舍入到 53 个有效位。在缺省的 extended 精度模式下,结果将舍入到 64 个有效位。该模式只控制在寄存器中结果的舍入精度,而不影响范围。寄存器中所有的结果都使用了各种已扩展的双精度格式来舍入。不过,存储在内存中的结果既舍入到目标格式的范围也舍入到目标格式的精度。

float 类型的标称精度为 singlelong double 类型的标称精度为 extended

缺省值

如果未指定 –fprecision 选项,舍入精度模式缺省为 extended

警告

仅在 x86 系统上编译主程序时,使用此选项才有效,在为 64 位 (-m64) 或启用 SSE2 的 (-xarch=sse2) 处理器编译时,会忽略此选项。在 SPARC 系统上也会忽略此选项。