c语言复习笔记

2017-08-02  本文已影响0人  _Blank_

①关于& | ^ 等

按位与 &:

int a=9;//0000 1001

int b=4;//0000 0100

              //0000 0000

int c=a&b //c=0

(都是1为1  否则为0)

应用:快速置零  判断奇偶

按位或 |:

int a=9;//0000 1001

int b=4;//0000 0100

               //0000 1101

int c=a|b //c=13

(有1就为1)

应用:我也不知道

按位异或 ^:

int a=9;//0000 1001

int b=4;//0000 0100

               //0000 1101

int c=a^b //c=13

应用:交换数值 定位反转(a = a^0xFF)

(相同为0 不同为1)

按位取反 ~:

(对2进制的每一位取反)

左移(<<)右移(>>):

int a=9;//00000000 00000000 00000000 00001001

a=a<<4;//00000000 00000000 00000000 10010000

(在左移过程中 最左边的四位被舍弃 最末尾有填充四个零 最高位符号位被移出 会导致溢出)

(左移n位  就是把原来的值乘以2的n次方)

int b=16;//00000000 0000000 00000000 00010000

b=b>>4;//00000000 00000000 00000000 00000001

(会根据原数值的符号位来确定补零还是补一)

(又移n位  就是把原来的值除以2的n次方)



②关于动态链表

勿忘

上一篇 下一篇

猜你喜欢

热点阅读