CrazyGo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年7月2日

摘要: 用位运算实现加法运算,则可在加法运算的基础之上实现,其他三种运算:int add(int x,int y){ int a,b; do { a=x&y;//判断是否需要进位,为1的比特位是需要进位的位 b=x^y;//计算加法 x=a=m&&y) { if(x&m) t=add(y,t);//x*y=y+y*2^i1,+y*2^i2... m=y) { x=sub(x,y); c=add(c,1); } ... 阅读全文
posted @ 2013-07-02 10:03 CrazyGo 阅读(668) 评论(0) 推荐(0)

2013年6月30日

摘要: 在c/c++语言中,适当的使用位运算来代替分支判断,可以去除程序中的分支预测,有效的提高程序的执行效率。讲解位运算最著名的要数>,不过网上也有很多牛人总结过位运算心得,位运算无非就是利用数字(通常为整数)的补码表示进行的与,或,非,异或,四大操作,下面是我总结的有趣且常用的一些位运算:一.最简单的:1)判断奇偶数:(x & 1) == 0):even, ((x & 1) == 1): odd2)判断低n 个bit位是否为1:y=x & (1 01010110 (x-1)10000000 (x = -128) -> 01111111 (x-1 = 127 (w 阅读全文
posted @ 2013-06-30 19:55 CrazyGo 阅读(546) 评论(0) 推荐(0)