在面试中,我被问到如何确定一个数字是正数还是负数。规则是我们不能使用关系运算符,如<
和>
,也不能使用内置的Java函数(比如substring
、indexOf
、charAt
和startsWith
),不能使用正则表达式或API。
我对此进行了一些研究,下面给出了代码,但它只适用于整数类型。 但是他们要求我编写一个通用代码,可以处理float
、double
和long
。
// This might not be better way!!
S.O.P ((( number >> 31 ) & 1) == 1 ? "- ve number " : "+ve number );
你有什么想法吗?