如何解决C中按位求逆运算
亲爱的所有 C 程序员:
X = 1 << N; (left shift)
如何从 X 中恢复 N?
谢谢
解决方法
N
在这种情况下是您在 1
处移位的位位置。假设这里的 X
只设置了一位。然后要找出该位位置对应的数字,您必须遍历数据并使用按位 AND 进行掩码:
for(size_t i=0; i<sizeof(X)*8; i++)
if(X & (1<<i))
printf("%d",i);
如果性能很重要,那么您应该制作一个包含所有可能结果的查找表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。