JavaScript和Python按位或运算给出了不同的结果 - javascript

JS

console.log(1 | 1); // 1
console.log(1 | 0x8); // 9
console.log(1 | 0x80000000); // -2147483647

蟒蛇

print (1 | 1) # 1
print (1 | 0x8) # 9
print (1 | 0x80000000) # 2147483649

为什么最后一个示例中的结果不同?

参考方案

JavaScript行为在MDN中进行了描述

  所有的按位运算符的操作数均以二进制补码格式转换为带符号的32位整数,但零填充右移会导致无符号的32位整数。

因此,您在JavaScript中会得到负数,因为它会将值视为32位带符号数。 0x80000000位是符号位。

上面引号结尾的限定符指出了获得与Python相同结果的方法:

console.log((1 | 0x80000000) >>> 0);

>>>是零填充右移运算符。移位0位不会更改该值,但是会转换为无符号。

Python整数具有无限的精度,因此当它们达到32位时,它们不会环绕到负数。

Javascript + Python:将数组发送到Python脚本,将结果返回给Javascript - javascript

我想建立一个网页,该网页通过Javascript API进行许多Facebook状态更新,并将它们分类到一个数组中。然后,我想将此数组发送到Python脚本,该脚本可以专门使用NLTK.进行语言分析。在Python中获得合适的结果后,我想将结果从该脚本返回到Javascript,以显示给用户等。听起来可能吗? javascript大神给出的解决方案 是的,完…

如何根据手势滚动网页 - javascript

如何使用pyhton / javascript使用手势向上/向下或向左/向右滚动页面。我尝试了很多找到解决方案,但无法解决。 参考方案 Javascript手势插件(JSHG)是一个很棒的插件,它使您可以通过现有网站或Web应用程序中的网络摄像头来支持用户的手势识别。您无需具有计算机视觉的任何背景即可使用此插件。当前,它提供了一组基本的手势,其中包括手的位置…

Python:可以使用JSON将消息发送到包含加密部分的Python Server吗? - javascript

我对JSON的了解不多,我刚刚开始学习本教程,所以请多多包涵:http://pymotw.com/2/json/我的问题是我可以使用JSON发送包含已加密的部分的消息到Python服务器,以便它可以将其转发到另一台服务器吗?该消息将来自通过SSL的Javascript客户端,其中包含有关Python Server的一些信息,以及将被加密的消息转发到另一个Py…

查找我的浏览器生成的javascript变量的当前值 - javascript

我正在尝试训练神经网络使用进化计算来玩基于浏览器的游戏,为此,我需要跟踪游戏得分。仅使用html,css和javascript创建游戏,并且游戏得分保存在我的浏览器运行的js脚本中的特定变量中。播放时,该变量的值当然会发生变化,并且在我的浏览器中是本地的。有什么方法可以在Python脚本中跟踪该变量的值? (如果我需要使用其他编程语言,我也愿意尝试一下!)编…

从Chrome WebDriver访问getEventListeners(Python) - javascript

目标:从Selenium WebDriver获取附加到节点的所有事件我正在使用selenium-python,我想执行一个javascript脚本(通过driver.execute_script('my js script')。该脚本使用getEventListeners,仅在Chrome上可用。我成功使用了driver = webdri…