以下表达式在Python和Javascript中的Java结果不同:-
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)
对相同表达的评估在两种语言中有何不同?
答案 0 :(得分:2)
~c
在Python和Javascript中的评估方式不同。
~c
是c值的负数。这是通过反转值的位来完成的。因此,该值在不同的语言中有所不同,因为它们可能使用不同数量的位来存储int值,这将导致不同的〜value。
Javascript:
~c = -1563501733
Python:
~c = -5858469029