我有一个var blah = ctypes.UInt64('65')
,65真的是什么。我需要对此做数学,但是当我这样做时:
console.log(blah * ctypes.UInt64('2')
删除ctypes.UInt64
换行。我需要保留那个包装,这样我就可以将它传递给其他东西了,我知道我可以重新包装它,但是在UInt64
和Int64
请问正确的数学方法。
答案 0 :(得分:1)
没有API /库可以对js-ctypes Int64类型进行数学运算。
您需要根据需要进行展开和重新换行,当然还要进行足够的错误检查和处理,以了解何时safe to unwrap stuff以及哪些数学运算可能会失去精度(> 53位)和/或溢出号。
如果你不能使用常规的JS双精度浮点数学,因为你真的需要那些64位,那么你需要阅读bignum数学以及如何用小数字来做,或找到合适的bignum库。但是,示例中的数字不需要这个。
如果可能的话,首先避免进行int64数学运算;但当然,这并不总是可行的。