关于BSF和BSR,该怎么处理
关于BSF和BSR
在我的电脑上执行如下代码:
输出是3;但是如果把bsr改成bsf输出还是3,这是什么情况?
Win7x64,VS2010 Win32编译平台
------解决方案--------------------
计数都是从低位计数的
8 对应为 1 的只有 3 这个位置 (00001000B)
------解决方案--------------------
扫描是一个向左一个向右
但是位的编号都是从低位起
在我的电脑上执行如下代码:
- C/C++ code
void main()
{
int a = 8;
_asm
{
mov eax , a;
bsr ebx, eax;
mov a, ebx;
}
cout<<a<<endl;
}
输出是3;但是如果把bsr改成bsf输出还是3,这是什么情况?
Win7x64,VS2010 Win32编译平台
------解决方案--------------------
计数都是从低位计数的
8 对应为 1 的只有 3 这个位置 (00001000B)
------解决方案--------------------
扫描是一个向左一个向右
但是位的编号都是从低位起