我目前正在为编译为
JavaScript的小语言编写编译器.在这种语言中,我非常喜欢使用整数,但JavaScript只支持Number,这是一个双精度浮点值.那么,在JavaScript中实现整数的最有效方法是什么?与使用Number相比,这有多高效?
特别是,溢出行为应该与其他语言一致:例如,向INT_MAX添加一个应该给出INT_MIN.整数应该是32位或64位.
解决方法
我在Javascript:
http://www-cs-students.stanford.edu/~tjw/jsbn/中发现了BigIntegers的这种实现
也许这会有所帮助吗?
编辑:此外,Google Closure库实现了64位整数:
http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/math/long.js
这些基本上只是生成便利对象,并且不会做任何改进基本数据类型效率的事情.