今天我试图找到一种有趣而神秘的方法来确定 JavaScript 的最大整数值。其中一种方法如下:
~(+!!![]) >>> (+!![]);
其实际评估结果为
~0 >>> 1
但它返回 2147483647,而不是应有的 4294967295。为什么?当然,后一个结果将是无符号整数的此操作的结果,而我的结果对于有符号整数来说是正确的。但如何强制呢?..
最佳答案
您要找到最大整数,然后将其右移 1 位,将其除以 2。使用:
~0 >>> 0
获取最大整数。
将其转换为“有趣”的方式,我将作为读者的练习。
关于javascript - 以有趣的方式查找 JS 最大整数值失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19971548/