位运算

    技术2025-10-13  11

     

    12.3 位与运算

    位与运算的实质是将参与运算的两个数据,按对应的二进制数逐位进行逻辑与运算。例如:int型常量4和7进行位与运算的运算过程如下:

     

    4=

    0000 0000 0000 0100

    &

    7 =

    0000 0000 0000 0111

    =

     

    0000 0000 0000 0100

    对于负数,按其补码进行运算。例如:例如:int型常量-4和7进行位与运算的运算过程如下:

     

    -4=

    1111 1111 1111 1100

    &

    7 =

    0000 0000 0000 0111

    =

     

    0000 0000 0000 0100

    位与运算的主要用途如下:

    (1)清零:快速对某一段数据单元的数据清零,即将其全部的二进制位为0。例如整型数a=321对其全部数据清零的操作为a=a&0x0。

     

    321=

    0000 0001 0100 0001

    &

    0=

    0000 0000 0000 0000

    =

     

    0000 0000 0000 0000

    (2)获取一个数据的指定位。例如获得整型数a=的低八位数据的操作为a=a&0xFF。

     

    321=

    0000 0001 0100 0001

    &

    0xFF =

    0000 0000 1111 11111

    =

     

    0000 0000 0100 0001

    获得整型数a=的高八位数据的操作为a=a&0xFF00。==a&0XFF00==

     

    321=

    0000 0001 0100 0001

    &

    0XFF00=

    1111 1111 0000 0000

    =

     

    0000 0001 0000 0000

    (3)保留数据区的特定位。例如获得整型数a=的第7-8位(从0开始)位的数据操作为:

    110000000

     

    321=

    0000 0001 0100 0001

    &

    384=

    0000 0001 1000 0000

    =

     

    0000 0001 0000 0000

     

    http://www.neu.edu.cn/cxsj/online/c12/ch12_3.html

     

    最新回复(0)