Javascript 如何获得BigInt的位数?

Javascript 如何获得BigInt的位数?,javascript,biginteger,Javascript,Biginteger,没有bit length()方法记录或。。。如何检查本机BigInt值的位数 我想通过一些内部信息寻找一种“直接方式”。。。或者任何更快的tham转换总是x.toString(2) 笔记 这并不理想,但中间解决方案(似乎更快)是使用。。。适应于BigInt 开发了一个特定的积分对数(值,基)来计算log2。。。并实现一个bitLength()方法(没有Math.floor()hum…),但是有很多依赖项,它是一个大象 这里有一种简单的方法,将其转换为字符串: num.toString(2).

没有
bit length()
方法记录或。。。如何检查本机BigInt值的位数

我想通过一些内部信息寻找一种“直接方式”。。。或者任何更快的tham转换总是
x.toString(2)


笔记
  • 这并不理想,但中间解决方案(似乎更快)是使用。。。适应于BigInt

  • 开发了一个特定的
    积分对数(值,基)
    来计算log2。。。并实现一个
    bitLength()
    方法(没有
    Math.floor()
    hum…),但是有很多依赖项,它是一个大象

这里有一种简单的方法,将其转换为字符串:

num.toString(2).length;

const x=3242983489239842238924398324984423989842394483984239842432439427387423789423798247398798423794379423794223794237924377427942379824379842397824312N;
console.log(x.toString(2));
常量位=x.toString(2).长度;
控制台日志(位)这里有一种简单的方法,将其转换为字符串:

num.toString(2).length;

const x=3242983489239842238924398324984423989842394483984239842432439427387423789423798247398798423794379423794223794237924377427942379824379842397824312N;
console.log(x.toString(2));
常量位=x.toString(2).长度;

控制台日志(位)
可能
bigIntVal.toString(2).length
@AlexKudryashev是的,我使用它作为解决方法。性能转换失败。我不知道BigInt是如何用Javascript实现的(我曾经写过),但是下面的链接有帮助吗?ISTM它提供了获取BigInt as数组的方法。然后可以使用它的长度和最大值来计算Java调用的bitLength():Hi@RudyVelthuis,有意义。。。访问内部数组或计数块等的方法是(似乎)通过WebAssembly。似乎他们正在为BigInt开发一个接口,比如正式的注释和.maybe
bigIntVal.toString(2).length
@AlexKudryashev是的,我使用它作为解决方法。性能转换失败。我不知道BigInt是如何用Javascript实现的(我曾经写过),但是下面的链接有帮助吗?ISTM它提供了获取BigInt as数组的方法。然后可以使用它的长度和最大值来计算Java调用的bitLength():Hi@RudyVelthuis,有意义。。。访问内部数组或计数块等的方法是(似乎)通过WebAssembly。看起来他们正在为BigInt开发一个界面,比如正式的评论和。谢谢Austin,这是正确的(!)但是很抱歉,这很明显,我忘了告诉你我对这个解决方法不感兴趣。我编辑了这个问题。不要否决这个答案,这是目前最有效的解决方法(很遗憾)。谢谢奥斯汀,这是正确的(!),但很抱歉,这很明显,我忘了告诉你我对这个解决方法不感兴趣。我编辑了这个问题。不要对这个答案投反对票,这是目前最有效的方式(很遗憾)。