• 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。

  • 相关阅读:
    (六)面向对象进阶
    (五)绑定方法与非绑定方法
    (四)封装
    (三)多态与多态性
    (二)继承与派生
    (一)面向对象的程序设计
    网络协议
    三.计算机网络简介
    二.计算机的发展史及多道技术
    一.计算机基础知识
  • 原文地址:https://www.cnblogs.com/Cqlismy/p/11773381.html
Copyright © 2020-2023  润新知