使用两个Uint8arrays进行算术的方法,同时将它们都视为一个数字
我正在为NodeJS中的专有语言制作解释器,其中唯一的数据类型是字节数组。
[如果有人能指出我要获取的库/导入,使我能够像对单个数字一样对Uint8array进行加,减,乘和除,我将不胜感激。
我已经打乱了Google的工作,目前无法为其创建导入文件(不确定如何使用64位以上的值实现乘法或除法。)
我不能使用本地JS算术,因为这些数字有时比JS中的最大值大。
希望这会是这样:
//adding array A and array B
A = new Uint8Array([0x01,0x01]); //0x0101, 257
B = new Uint8Array([0x00,0x01]); //0x0001, 1
A = addTwoUint8ArraysAsNumbers(A, B); //should be 0x0102, [0x01,0x02], 258
但是,我不挑剔。
谢谢您的建议。
回答如下:@@ JamesWilkins回答了。事实证明,您可以使用big.js库以任意精度进行算术运算,而我只需要制作一些函数即可在Uint8Array和big之间进行转换。
JavaScript large number library?