zoukankan      html  css  js  c++  java
  • C的位运算符

    1、前言

    C的位运算符有&(按位与)、|(按位或)、^(按位异或)、~(按位取反),位运算符把运算对象看作是由二进制位组成的位串信息,按位完成指定的运算,得到相应的结果。

    2、位运算符

    在上面提到的运算符中,~(按位取反)为单目运算符,其它的都为双目运算符,位运算符的优先级从高到低,依次为~、&、^、|。

    (1)按位与运算符(&)

    按位与运算符按照以下规则进行计算:

    0 & 0 = 0

    0 & 1 = 0

    1 & 0 = 0

    1 & 1 = 1

    也就是同为1的位,结果为1,否则为0。

    按位与运算有两种典型用法,第一种是取位串的某几位,例如截取x的最低8位:x & 0x00ff,第二种是让变量保留某几位,其余位置0,例如让x保留高8位:x = x & 0xff00。

    (2)按位或运算符(|)

    按位或运算符按照以下规则进行计算:

    0 | 0 = 0

    0 | 1 = 1

    1 | 0 = 1

    1 | 1 = 1

    也就是,只要是有1个是1的位,运算结果为1,其余为0。

    按位或运算符的典型用法是将一个位串信息的某几位置1,例如将x的最低2位置1:x = x | 0x03。

    (3)按位异或运算符(^)

    按位异或运算符按照以下规则进行计算:

    0 ^ 0 = 0

    0 ^ 1 = 1

    1 ^ 0 = 1

    1 ^ 1 = 0

    也就是,对应位的值相同,则结果为0,对应位的值不同,则为1。

    (4)按位取反运算符(~)

    按位取反运算是单目运算,用来求一个位串信息按位的反,也就是,哪些为0的位,运行结果为1,而哪些为1的位,结果是0,例如,x的值为0x07,则~x的结果为0xf8。

    按位取反运算符的典型运用为,和&运算符结合使用,将某几位设置为0,例如,将x的最低2位进行清0操作,x为0xf3,则将最低2位进行清0,可以使用x = x & ~0x03,将语句运行后,x将变成0xf0。

  • 相关阅读:
    例6-5
    例7-1+7-2
    例6-2+6-3
    习题二(3)
    习题二(1)
    课堂作业4
    课堂作业3
    实验三 利用循环计算n个圆柱体体积。
    实验三 编写求圆面积的程序,要求当输入的半径r<=0时,提示输入错误,要求r为浮点型,r的数值是动态的由键盘输入;
    心得3
  • 原文地址:https://www.cnblogs.com/Cqlismy/p/11773381.html
Copyright © 2011-2022 走看看