【发布时间】:2022-02-11 17:01:55
【问题描述】:
如何计算整数中 1 的位数。
假设你有二进制数11100000。开始时基本上有 3 个布尔标志。对应的十进制表示法是224。想知道如何获取该整数并以某种方式循环它以添加它开头的 1 的数量。像这样的:
var int = 224
var n = 8
var i = 0
var total = 0
while (i++ < n) {
if (int.getBitAt(i) == 1) {
total++
} else {
break
}
}
我从来没有真正处理过比特,所以不确定如何以最佳方式完成此任务(即不将其转换为字符串 '11100000' 或其他非最佳方式。
【问题讨论】:
-
您的标题和第一句话似乎与“它开头的 1 的数量”有点冲突。你能澄清一下吗?你的函数输入是
11100000还是224?谢谢。 -
函数的输入是 224。
标签: javascript binary bit