是否有一种方法可以获取BigInt数字字节的占用内存大小?
If-End If
谢谢
答案 0 :(得分:1)
V8开发人员在这里。通常无法确定对象的占用内存大小,BigInts也不例外。为什么要访问它?
就V8中的内部实现而言,BigInt具有一个小的对象标头(当前为两个指针大小;这可能会随着时间的变化而变化),然后对BigInt的每一位都有一点,四舍五入为整数倍。指针大小。 99999是一个17位数字,因此在您的示例let a = 99999n
中(“ BigInt(99999n)
”是多余的!),分配的BigInt将在64位系统上消耗(2 + Math.ceil(17/64)) * 64 bits === 24 bytes
。
将来在BigInts中添加与长度相关的属性或方法(.bitLength
?)可能没有意义。如果您有用例,建议您在https://github.com/tc39/proposal-bigint/issues提出问题,以便进行讨论。