首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于BSF和BSR,该怎么处理

2012-02-24 
关于BSF和BSR在我的电脑上执行如下代码:C/C++ codevoid main(){int a 8_asm{mov eax , absr ebx, eax

关于BSF和BSR
在我的电脑上执行如下代码:

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)
[解决办法]
扫描是一个向左一个向右

但是位的编号都是从低位起

热点排行