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



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

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

其实际计算结果为

~0 >>> 1

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

您找到最大整数,然后将其移动到右侧的 1 位,将其除以 2。用:

~0 >>> 0

以获取最大整数。

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

最新更新