已关闭,该问题需要details or clarity,目前不接受回答。
**想要改进此问题?**通过editing this post添加详细信息并澄清问题。
3天前关闭。
这篇文章是昨天编辑并提交审查的。
Improve this question
下面是JavaScript代码:
function bitlen(D, i){
let num = 0, d = 0;
while(num + Math.pow(2, d+D) <= i){
d += D;
num += Math.pow(2, d);
}
return d+D;
}
如果我能简化这个过程,那就太好了,但我不确定如何简化。
可以用数学吗?
我试着问ChatGPT,它不知道它在说什么。
我尝试使用Math.log2,但不确定如何正确地应用它,每次都得到相同的答案。
编辑:更多关于代码的用途..
该代码用于查找输入uint i
的有效位数,但四舍五入为uint D
的倍数。
例如:bitlen(3, 7)
:7可以容纳在3位111
内,因此输出为3
,但是,bitlen(3, 8)
:8不能放入3位,因此输出为6。
希望这能让你更容易理解
1条答案
按热度按时间vdzxcuhz1#
你可以这样重写