LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1334|回复: 0

下面这个ffs函数返回是什么?谢谢

[复制链接]
发表于 2005-12-9 09:35:20 | 显示全部楼层 |阅读模式
static inline int __ilog2(unsigned int x)
{
        int lz;

        asm ("clz %0, %1" : "=r" (lz) : "r" (x));
        return 31 - lz;
}
static inline int ffs(int x)
{
        return __ilog2(x & -x) + 1;
}
这是在armv5上的指令,我得出结论是返回从高到低的第一个1的位数,而实际上ffs应该返回从低位到高位第一个1 的位数,我不知道自己哪里错了,有人能帮我详细解释一下么?谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表