13.2.4 使用库函数设置符号位
浮点数不同于整数,它的正负值在编码上并无不同,只是符号位有所差别,因此直接设置符号位即可得到绝对值:
- double myabs(double data)
- {
- return _copysign(data, 1.0);
- }
。参见11.3.2节库函数_copysign()代码。
如果将myabs()定义成宏,将避免函数调用的开销,效率更高:
- #define myabs(x) _copysign(x, 1.0)
【责任编辑:
董书 TEL:(010)68476606】