评估表达式:-Javascript vs Python

时间:2019-03-04 10:02:09

标签: javascript python

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

对相同表达的评估在两种语言中有何不同?

1 个答案:

答案 0 :(得分:2)

~c在Python和Javascript中的评估方式不同。

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

Javascript:

~c = -1563501733

Python:

~c = -5858469029