javascript - 正在计算表达式 :- Javascript vs Python

标签 javascript python

以下表达式在 Python 和 Javascript 中的 Javascript 中产生不同的结果:-

Python:-

a, b, c, e, f, h = 271733878, 4023233417, 5858469028, -389564586, 2562383102, 1634886000

a = a + (c & b | ~c & f) + h + e  # 4965557782

Javascript:-

a = 271733878;
b = 4023233417;
c = 5858469028;
e = -389564586
f = 2562383102;
h = 1634886000;

a = a + (c & b | ~c & f) + h + e; // 670590486

console.log(a)

相同表达式的求值在两种语言中有何不同?

最佳答案

~c 在 Python 和 Javascript 中的计算方式不同。

~c 是 c 值的负值。这是通过反转值的位来完成的。因此,该值在不同语言中有所不同,因为它们可能使用不同数量的位来存储 int 值,这将导致不同的 ~value。

Javascript:

~c = -1563501733

Python:

~c = -5858469029

关于javascript - 正在计算表达式 :- Javascript vs Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54980804/

相关文章:

javascript - 安全 S3 上传

python - 使用 BeautifulSoup 帮助解析 <pre> 标签

javascript - 如何转换 openerp 7 日历

python - python 3.4函数定义中的语法错误

python - Jupyter、asyncio 和 Slack

javascript - JavaScript 中 push 方法的 Polyfill

javascript - 使用 jquery 以相反(从下到上)方向追加输入框

javascript - 为什么每个人都将端口存储为快速变量?

javascript - 将数组从 EJS 传递到 Javascript

python - 使用 Python 的 tarfile 时覆盖现有的只读文件