【发布时间】:2019-03-04 10:02:09
【问题描述】:
以下表达式在 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)
同一表达式的计算在两种语言中有何不同?
【问题讨论】:
-
因为它们的写法不同?
-
甚至评估数学表达式?这听起来很奇怪!!应该更多。
-
按位计算始终取决于值的位表示,因此非常特定于所使用的语言/平台。真的没有任何一个“正确”的答案。
-
找到了解决方案。将 python 数字转换为 32 位的作品。
标签: javascript python