gpt4 book ai didi

javascript - 为什么 "1 << 32"在 Javascript 中等于 1

转载 作者:行者123 更新时间:2023-11-29 16:30:59 25 4
gpt4 key购买 nike

如果 1 是 32 位那么 1 << 32等于0 .

如果 1 是 64 位那么 1<< 324294967296 .

那么 1 在 JS 中是从哪里来的呢?这是未定义的行为吗?

https://jsfiddle.net/xn2hr7fa/1/

最佳答案

与许多语言一样,左移运算符仅使用五个最低有效位(将移位距离视为 32 位整数)。引用步骤 7 here .

因此:

1 << 32 === 1 << (32 & 0x1f)这是1 << 0 === 1

1 << 33 === 1 << (33 & 0x1f)这是 1 << 1 === 2

1 << 34 === 1 << (34 & 0x1f)这是 1 << 2 === 4

等等。

关于javascript - 为什么 "1 << 32"在 Javascript 中等于 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57660050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com