小编Fox*_*x-3的帖子

找到64位数的位置

我试图在64位数字中找到两个1的位置.在这种情况下,那些位于第0和第63位置.这里的代码返回0和32,这只是对齐的一半.为什么这不起作用?

#include<stdio.h>
void main()
{
unsigned long long number=576460752303423489;
int i;
for (i=0; i<64; i++)
    {
    if ((number & (1 << i))==1)
        {
        printf("%d  ",i);

        }   
    }
}
Run Code Online (Sandbox Code Playgroud)

c

26
推荐指数
2
解决办法
1082
查看次数

标签 统计

c ×1