前天,终于入手了一些一直想买的书,比如《算法导论》、《编程珠玑》。
在数学科学学院,我不能把自己当作一个计算机学院的人,所以我一直没过多的时间去研究算法,之前的我好像更多的时间是花在做一些证明题。
今天在读《编程珠玑》的时候,第一章的习题提出了一个问题,重点是要求利用逻辑运算解决。
逻辑运算,怎么我没什么概念,于是,稍微恶补了一下,也顺便记下一些有用的。
当然,其优点很明显,就是快。
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);