Linux学习---位运算符

  • <<、>>

   ① << 左移  乘以2^n

    m << n    m*(2^n)   

    eg:4:  0 0 1 0 0 

      8:   0 1 0 0 0

    [数据、数字]移位

    左移:右侧补0

    1 0 0 0 0 0 0 1        1 0 0 0 0 0 1 0

    1 1 1 1 1 1 1 0        1 1 1 1 1 1 0 1

    1 1 1 1 1 1 1 1 ====》-1     1 1 1 1 1 1 1 0    ====》-2

    右移:补符号 (整数补0,负数补1)

    ②>> 右移  除以2^n

  • &(与)清零器

    ①屏蔽

      eg:int a = 0x1234

        a & 0xff00;   屏蔽低八位,取出高8位。

    ②取出

      eg:A & 1 => A

  •  |   (或)设置

    ①保留

      eg:A | 0 ===A

        A | 1 ===1

    

注:eg:设置一个资源的5bit为高电平,其他为不变。

  int a;

  a = ( a | (0x1<<5));  ======> a | (0x1<<5);

  eg:清除第五位

  a = a & ~(0x1<<5); ======> a = a & (~(0x1<<n))

 

  • ^ (异或)

    1 ^ 1 = 0, 0 ^ 0 = 0'

    1 ^ 0 = 1;

  • ~ (取反)

    0xf0  ~   0xffff ff0f

 

  • ()

  ①限制符  (a+b)*c

  ②函数访问  int fun();

 

  • []  内存访问的ID符号

 

  • {} 函数体限制符

  

  • ->  地址访问
  • .    变量访问

 

  

 

转载于:https://www.cnblogs.com/BANLOONG/p/10461070.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值