• <<、>>

   ① << 左移  乘以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符号

 

  • {} 函数体限制符

  

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

 

  

 

posted on 2019-03-02 14:46  kingofloong  阅读(455)  评论(0编辑  收藏  举报