尝试将 UID 生成器从 Javascript 转换为 Ruby,我想了解以下行为。
这行代码
89190868196442450 | 0
会用 javascript
1074708816
在红宝石中
89190868196442450
我完全理解 ruby 行为,因为如果它存在于 hether 操作数中,则按位 OR 运算符会复制一点,但我仍然对 javascript 行为感到困惑。我更深入地研究了 javascript 整数表示,但找不到明确的解释。我找到了这个,但没有完全明白。
二进制的 89190868196442450 是 100111100110111101001111101000000000011101100000101010010 ,这使其长度为 57 位。
谁能给我一个明确的解释或上述结果。我应该对 ruby 代码进行什么操作以确保类似的行为?