是否有 x86(_64) 指令给出最高(或最低)集 (1) 位的索引?
正如所说。例如,对于8位(仅作为示例,不考虑字节顺序)整数00100100(基数2),是否有指令给出5?
As said. e.g. for the 8-bit(just for example, no byte order considered) integer 00100100 (base 2), is there an instruction gives 5?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从技术上来说,不。 BSR 可以找到设置的最高有效位,BSF 来查找设置的最低有效位 - 但可以处理的最小项目是 16 位字。
Technically, no. There's BSR to find the most significant bit that's set, and BSF to find the least significant bit that's set -- but the smallest item either will work on is a 16-bit word.
是的,BSR。但是,请注意 bithack 页面声称至少在一个 CPU 上移位操作序列(展开循环)比单个 BSR 更快。
Yep, BSR. However, do note that the bithack page claims that at least on one CPU a sequence (unrolled loop) of bit shift operations is faster than a single BSR.