以下表达式在 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/