IEEE 754双精度到单精度

时间:2012-02-07 04:30:33

标签: fortran

我想知道fortran 95(f95)如何转换双精度(DP),其指数大于单精度(SP)指数中的指数。

所以说我有一些DP编号的指数大于可以存储到SP数据类型的指数。它是否只是最大化指数并切断尾数并以这种方式存储或做其他事情。

如果这是正确的,那么这是否意味着无论何时指数从DP到SP太大,我都会得到+或 - 无穷大(如果DP的尾数在前8位中为零)和NaN (如果尾数中的前8位中的任何一位是1)?

非常感谢你的帮助!!!!

1 个答案:

答案 0 :(得分:7)

是,如果您尝试将双精度变量a存储到单个精度变量b中,而a不在[-HUGE(b),HUGE(b)]范围内,{{ 1}}将变为b+Inf,具体取决于-Inf的符号。

这确实是一种理想的行为 - 一种捕获浮动溢出并有助于极大调试的功能。