javascript - Javascript中左移 "Lsh"的计算顺序规则

标签 javascript math

我试图理解使用移位时计算中数学上正确的顺序。

我发现 Javascript 似乎按照以下优先级顺序进行计算:

^ */+ - << >>

二进制计算器例如Windows10的计算器使用的优先级顺序为:

<< >> ^ */+ -

但是在这种情况下,数学上正确的顺序是什么?

例如:

计算器 1 + 3 Lsh 3 - 1(结果:24)

Javascript 1 + 3 << 3 - 1(结果:16)

尝试一下: http://www.w3schools.com/code/tryit.asp?filename=F0L1LGPQX9T2

最佳答案

这没有“数学上正确的顺序”

数学考虑指数、乘法/除法和加法/减法,但按位运算是编程语言附带的,请参阅 https://en.wikipedia.org/wiki/Order_of_operations#Programming_languages

关于javascript - Javascript中左移 "Lsh"的计算顺序规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40488008/

相关文章:

javascript - 如何更改悬停以单击 jquery slider

javascript - 在 JavaScript 中收缩变量

java - Java中的整数除法

c# - 使用 C# 对数字进行四舍五入

java - Clojure 在简单循环与 Java 上的性能真的很差

javascript - Jquery UI 可拖动元素可以拖动超过所需的宽度

javascript - 浏览器选项卡存储?

javascript - 使用 compose 有什么好处?

c++ - 线 - 3d 世界中的圆相交测试?

string - 计算可被 6 整除的子序列数的高效算法