评估表达式:-Python vs Javascript

时间:2019-03-03 15:27:54

标签: javascript python

我正在用python的javascript复制方程式。

这是Javascript中的等式:-

var q = 1;
var c = [608875978, 500902236, -1359500678, -1631660920];
var x = c[q >>> 2] >>> 24 - q % 4 * 8 & 255;

输出:- x = 74

与Python类似:-

def rshift(val, n):
    return (val % 0x100000000) >> n

i = 1
words = [608875978, 500902236, -1359500678, -1631660920]
x = rshift((words[rshift(i, 2)]), 24) - i % 4 * 8 & 255
print(x)

输出:- x = 28

我确定rshift返回的值正确。 Python评估与JS评估到底有什么错?

1 个答案:

答案 0 :(得分:1)

我刚刚在python中尝试了相同的操作,它输出了74

q = 1;
c = [608875978, 500902236, -1359500678, -1631660920];
x = c[q >> 2] >> 24 - q % 4 * 8 & 255;
print(x) // prints `74`

注意:在python中,我只是将>>>替换为>>

我不是python专家-我刚刚从昨天开始学习。因此,我现在无法分析您的示例代码。但是您应该修复-可能存在一些问题。


据我所知,任何语言都遵循相同的数学规则。