在 JavaScript 中算术左移 30 次
arithmetic left shift 30 times in javascript?
本文关键字:左移 JavaScript 更新时间:2023-09-26
2<<2 === Math.pow(2,3) // true
2<<30 === Math.pow(2, 31) // false, why?
我认为 Math.pow 与<<相同;为什么Math.pow(2, 31)
不等于2<<30
?
回答您最初的问题,"为什么 2 <<30 等于 -2,147,483,648?
<<
是位移左运算符,因此2 << 30
表示"将值 2 向左移动 30 位"。
作为 32 位整数的值 2 为:
0000 0000 0000 0000 0000 0000 0000 0010
如果将所有位向左移动 30 个空格,则有:
1000 0000 0000 0000 0000 0000 0000 0000
此值为 -2,147,483,648,因为 MSB(最高有效位(是符号位,这使数字为负数。这是因为您的计算机使用 Two 的补码算法。
相关文章:
- 如何使用纯 JavaScript 在所有浏览器中区分左/右/中键单击事件
- 在Widget代码中使用javascript从左向右滑动光标图像
- JavaScript/jQuery:如何在“;显示:无”;被移除
- JavaScript 中的符号传播右移和零填充右移之间的区别
- Python左移(符号问题)
- 使用JavaScript增加上/左/下/右值
- 如何在JavaScript中移除在循环中连接字符串时添加的额外字符
- 在 JavaScript 中算术左移 30 次
- 滞后向左滚动Javascript
- JavaScript 零位左移和右移等效于 Python 中的
- 带字符串的左移数字
- Javascript左移操作符是如何工作的
- 我如何移动一个图像从左到右和从右到左在javascript无限的时间
- 计算顺序规则左移Lsh"在Javascript
- 按位左移和右移计算在javascript
- 我试着把盒子从左移到右,然后再移回来,但它在几个周期后崩溃了
- Javascript中的左移计数为负
- 改变CSS”;“左”;javascript中的属性在IE中不起作用
- Javascript逐位左移的终结性问题
- 在 Clojure 中实现 JavaScript 的左移运算符