小小的改进,逻辑运算

前天,终于入手了一些一直想买的书,比如《算法导论》、《编程珠玑》。

在数学科学学院,我不能把自己当作一个计算机学院的人,所以我一直没过多的时间去研究算法,之前的我好像更多的时间是花在做一些证明题。

今天在读《编程珠玑》的时候,第一章的习题提出了一个问题,重点是要求利用逻辑运算解决。

逻辑运算,怎么我没什么概念,于是,稍微恶补了一下,也顺便记下一些有用的。

当然,其优点很明显,就是快。


1.int x=pow(2,n) 相当于,x=1<<n;


2.x%2==1   相当于  x&1==1;


3.求x%(2^n) 相当于 x&(2^n-1)


4.令x=-x. 相当于 x=~x+1


5.求int x的绝对值,int y=x>>31;x=(x^y)-y


6.交换a,b ,相当于 a=a^b^(b=a);


你可能感兴趣的:(运算)