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

哪位高手来帮小弟我看一下这一小段程序的作用

2012-02-20 
谁来帮我看一下这一小段程序的作用?#definebit_swap(a,b,n,m)\tt((a n)^b)&m\b^tta^(tt n)[解决

谁来帮我看一下这一小段程序的作用?
#define   bit_swap(a,b,n,m)               \
        tt   =   ((a   > >   n)   ^   b)   &   m;         \
        b   ^=   tt;   a   ^=   (tt   < <   n)

[解决办法]
你可以试验一下:
设a=00110011;
b=11001100;
n=3;
m=00000010;
则由tt=((a> > n)^b)&m计算出的tt为00000010;
b^=tt得出b=11001110;
a^=(tt < <n)得出a=00100011;
可见这段代码是将b的第m(2)位与a的第m+n(5)位交换了一下。
以上的分析用的例子太少,可能不正确,但这是一个分析问题的方法。

热点排行