13.2.4 使用库函数设置符号位

2013-10-07 00:53:16 · 作者: · 浏览: 72

13.2.4  使用库函数设置符号位

浮点数不同于整数,它的正负值在编码上并无不同,只是符号位有所差别,因此直接设置符号位即可得到绝对值:

  1. double myabs(double data)  
  2. {  
  3.     return _copysign(data, 1.0);  

。参见11.3.2节库函数_copysign()代码。

如果将myabs()定义成宏,将避免函数调用的开销,效率更高:

  1. #define myabs(x)  _copysign(x, 1.0) 

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节