签署NaN值

时间:2012-01-11 09:47:28

标签: c printf nan

基于“IEEE”规范: “当输入或结果是NaN时,该标准不解释NaN的符号。” 但是,printf会将NaN值打印为已签名:nan-nan 有人可以在nan和打印-nan时向我指出一组规则(来自规范吗?) 例如,我检查了printf(-1.0f)打印-nan 谢谢

1 个答案:

答案 0 :(得分:5)

NaN的基础表示包含符号位,这是printf在决定是否应该打印减号时所看到的。

标准表示应忽略符号位的原因是允许否定绝对之类的东西简单地修改符号位,而不必强制检查如果输入值是NaN。