C语言中的位运算

1. C语言位及其运算符
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
        操作符                       作用
────────────────────────────
          &                        位逻辑与
           |                         位逻辑或
          ^                         位逻辑异或
          –                         位逻辑反
          >>                         右移
          <<                         左移
━━━━━━━━━━━━━━━━━━━━━━━━━━━━

※特别注意:逻辑运算符的“!”——逻辑非,不是位运算符!
2. 用途举列
(1)对于以2的指数次方为“*”、“/”或“%”因子的数学运算,转化为移位运算“<<” 、“>>”,通常可以提高算法效率,因为乘除运算指令周期通常比移位运算大。

 1
《C语言中的位运算》
#include 

Stdio.h



 2
《C语言中的位运算》#include 

Conio.h



 3
《C语言中的位运算》

 4
《C语言中的位运算》
int
 main(
void
)

 5
《C语言中的位运算》《C语言中的位运算》
《C语言中的位运算》
{
 6《C语言中的位运算》    unsigned i,j;
 7《C语言中的位运算》    i = 879 / 16;
 8《C语言中的位运算》    printf(The result of 879 divided by 16 is : %d\n,i);
 9《C语言中的位运算》    i = 879 >> 4;  //等价于879/16
10《C语言中的位运算》    printf(The result of 879 move right 4 digit is : %d\n,i);
11《C语言中的位运算》
12《C语言中的位运算》    j = 562 % 32;
13《C语言中的位运算》    printf(The result of 562 mode 32 is : %d\n,j);
14《C语言中的位运算》    j = 562  (562 >> 5 << 5); //等价于562%32
15《C语言中的位运算》    printf(The result of 562 mode 32 by move digit is also: %d\n,j);
16《C语言中的位运算》
17《C语言中的位运算》    getch();
18《C语言中的位运算》    return 0;
19《C语言中的位运算》}

结果如下:
《C语言中的位运算》
※特别注意:两个整数相除结果为整数,如879/16的结果值为54!

    原文作者:山野村夫
    原文地址: http://www.cnblogs.com/ssbpro/archive/2007/04/02/696412.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞