相关疑难解决方法(0)

什么是JavaScript的最高整数值,数字可以达到而不会丢失精度?

这是由语言定义的吗?是否有定义的最大值?在不同的浏览器中是不同的?

javascript browser math cross-browser

923
推荐指数
13
解决办法
48万
查看次数

Python ctypes.c_int到Perl XS(或非XS)转换(Javascript签名的32位按位移位运算符转换)

背景

我们需要将Javascript哈希算法转换为Perl代码.因此,我们需要将Javascript的按位移位运算符<<,>>和>>>转换为Perl.到目前为止,我们有进行转换的算法,但由于Javascript按位移位运算符在32位整数上运行,我们还需要在Perl中模拟它.

Python解决方案

基于这篇文章/sf/answers/2912724391/,我们了解到我们可以使用ctypes在Python中执行此操作.例如,要将整数左移x位:

import ctypes
print (ctypes.c_int(integer << x ^ 0).value)
Run Code Online (Sandbox Code Playgroud)

Perl的问题

我的理解是我们需要使用XS来做到这一点.我的问题是,是否有人有快速解决方案来实施它.我们不知道XS.我们可以开始学习它,但从我的印象来看,学习曲线相当高,可能需要一段时间才能掌握它.当然,非XS解决方案是理想的,如果存在的话.任何解决方案或提示将不胜感激.

解决方法

由于我们已经有了Python解决方案,我们可以在Python中实现这个模块,然后从Perl中调用它.性能不是真正的问题,因此这种"黑客"是可以接受的,尽管有点不受欢迎.换句话说,我们更愿意仅在Perl中维护整个程序(由几个模块组成).

javascript python perl bitwise-operators

0
推荐指数
1
解决办法
112
查看次数