计算顺序规则左移Lsh"在Javascript
Calculation order rules left shift "Lsh" in Javascript
我正在尝试理解在使用移位时计算的数学正确顺序。
我发现Javascript似乎在按优先级顺序进行计算:
^ */+ - <<>>
二进制计算器(例如Windows10的计算器)使用的优先级顺序为:
& lt; & lt;>> ^ */+ -
但是在这种情况下数学上正确的顺序是什么?
例如:计算器1 + 3 Lsh 3 - 1 (result: 24)
Javascript1 + 3 <<3 - 1 (result: 16)
试一试:http://www.w3schools.com/code/tryit.asp?filename=F0L1LGPQX9T2
没有"数学上正确的顺序"
数学考虑指数、乘法/除法和加法/减法,但位运算由编程语言提供,参见https://en.wikipedia.org/wiki/Order_of_operations#Programming_languages
使用PEMDAS方法:Parentheses, Exponents, Multiplication and Division, and Addition and Subtraction
.
这意味着正确的顺序是^ * / + - << >>
JS操作符优先级表
相关文章:
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- Javascript复选框函数:;缺少:在属性id之后"
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 插入“;img src"在javascript中
- "访问控制允许起源”;通过javascript从http页面调用同一网站的httpsurl时出现问题
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 如何's css标记"-webkit最小设备像素比”;在Javascript中实现
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- 什么是"!函数(){}〃;javascript中的mean/do
- 使用javascript"这个“;用于jquery选择器
- 我可以在不使用乘法运算符“”的情况下进行乘法运算吗*"在JavaScript中
- 用分隔符分隔具有多个整数值的字符串的Javascript"重试错误的值
- 什么是==+"在javascript中
- 什么是“;回归"javascript中的mean
- 可以't删除“;C: fakepath "使用javascript替换和regex
- 如何删除“"使用javascript从字符串中提取字符
- 如何使用Javascript获取当前页面URL,并在<a href="[the_URL]”>
- JavaScript异常:“;不成形”;在firefox浏览器上;XMLHttpRequest"chrome浏
- button1.Attributes.Add(“onclick"“javascript: window.open