以有趣的方式查找JS max整数值失败

时间:2013-11-14 07:02:30

标签: javascript

今天我试图找到一种有趣而神秘的方法来确定JavaScript的最大整数值。其中一种方法如下:

~(+!!![]) >>> (+!![]);

实际评估为

~0 >>> 1

但是它应该返回2147483647而不是4294967295。为什么?当然,后者将是无符号整数运算的结果,而我的结果对于有符号整数是正确的。但是如何强迫呢?..

1 个答案:

答案 0 :(得分:2)

您正在找到最大整数,然后将其移至右侧1位,将其除以2.使用:

~0 >>> 0

获取最大整数。

将其转换为“有趣”的方式,我将留给读者作为练习。