Oracle Solaris Studio 12.2:C 用户指南

F.2.7 异常值的算术运算

本节介绍了对异常和普通浮点值的组合应用基本算术运算所得的结果。以下信息假定不执行陷阱或任何其他异常操作。

下表解释缩写:

表 F–16 缩写用法

缩写 

含义  

Num 

非正规数或正规数 

Inf 

无穷(正或负) 

NaN 

不是数 

Uno 

无序 

下表描述对不同类型的操作数的组合执行算术运算所得值的类型。

表 F–17 加法和减法结果

 

右操作数: 0 

右操作数: Num 

右操作数: Inf 

右操作数: NaN 

左操作数: 0  

Num 

Inf 

NaN 

左操作数: Num  

Num 

请参见 [结果太大(溢出)时,Num + Num 可能为 Inf 而不是 Num。无穷值具有相反的 sign 时,Inf + Inf = NaN。]

Inf 

NaN 

左操作数: Inf  

Inf 

Inf 

请参见

NaN 

左操作数: NaN  

NaN 

NaN 

NaN 

NaN 

表 F–18 乘法结果

 

右操作数: 0  

右操作数: Num  

右操作数: Inf  

右操作数: NaN  

左操作数: 0  

NaN 

NaN 

左操作数: Num  

Num 

Inf 

NaN 

左操作数: Inf  

NaN 

Inf 

Inf 

NaN 

左操作数: NaN  

NaN 

NaN 

NaN 

NaN 

表 F–19 除法结果

 

右操作数: 0  

右操作数: Num  

右操作数: Inf  

右操作数: NaN  

左操作数: 0  

NaN 

NaN 

左操作数: Num  

Inf 

Num 

NaN 

左操作数: Inf  

Inf 

Inf 

NaN 

NaN 

左操作数: NaN  

NaN 

NaN 

NaN 

NaN 

表 F–20 比较结果

 

右操作数: 0  

右操作数: +Num  

右操作数: +Inf  

右操作数: +NaN  

左操作数: 0  

Uno 

左操作数: +Num  

比较的结果 

Uno 

左操作数: +Inf  

Uno 

左操作数: +NaN  

Uno 

Uno 

Uno 

Uno 


注 –

NaN 与 NaN 比较结果为无序,从而导致不相等。+0 与 - 0 的比较结果是相等。