【发布时间】:2010-12-26 14:42:53
【问题描述】:
我想要一个函数,它对负数返回 -1,对正数返回 +1。 http://en.wikipedia.org/wiki/Sign_function 我自己写很容易,但它似乎应该在某个标准库中。
编辑:具体来说,我正在寻找一个处理浮点数的函数。
【问题讨论】:
-
0 应该返回什么?
-
@Craig McQueen;这取决于它是正零还是负零。
-
@ysth @Craig McQueen,花车也是假的,不是吗? sgn(x) 的 definition 表示如果
x==0则返回 0。根据IEEE 754,负零和正零应该相等。 -
@ysth “它取决于正零或负零”。事实上,它没有。
-
评论晚了,但关于有符号零,另一个合理的选择是当 x 为零时 sgn(x) 返回 x。换句话说,你得到 0,但它是一个有符号的零,与输入的符号相同。 @RJFalconer 在签名零很重要的相对少数情况下,您会得到一个明智的答案,而在其他情况下则没有区别。