翼度科技»论坛 云主机 LINUX 查看内容

运算符、分支语句

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
位操作符:

可以直接操作二进制数位的内容;~是一个单目位操作符,它可以根据一个数字计算另外一个数字,这两个数字所有二进制数位的内容都不同(按位取反),使用的时候这个符号应该写在数字前面
双目位操作符:包括按位与(&),按位或(|)以及按位异或(^),他们都可以把两个数字对应二进制数位的内容做计算。
按位与(&)

可以把两个数字对应数位的内容做计算;只要一个数位的内容是0则与计算以后的结果就是0
  1.         3                        0000        0011
  2. &        5                        0000        0101
  3.                                 0000        0001
复制代码
任何数位内容和0做按位与结果一定是0,任何数位内容和1做按位与结果保持不变,按位与可以用来获得某些数位的内容,按位与还可以把某些数位的内容设置成0.
按位或(|)

可以把两个数字对应数位的内容做或计算;只要一个数为的内容是1则或计算以后结果就是1
  1.                 3                0000        0011
  2.     |   5                0000        0101
  3.                     0000        0111
复制代码
任何数位内容和0做按位或结果保持不变;任何数位内容和1做按位或结果就是1,按位或可以把某些数位的内容设置成1
按位异或(^)

可以把两个数字的对应数位内容做异或计算,如果两个数位内容一样则异或结果是0,否则结果是1
  1.                 3                0000        0011
  2.      ^  5                0000        0101
  3.                     0000        0110
复制代码
任何数位内容和0做按位异或保持不变;任何数位内容和1做按位异或一定改变,按位异或可以把某些数位的内容变成相反内容
  1. 'a'                97                0110        0001
  2. 'A'     65                0100        0001
  3. ch &=32;
  4. ch |=32;
  5. ch ^=32;
复制代码
移位操作符

可以把一个数字里所有二进制数位的内容统一向左或向右移动n个位置
'>>'表示向右移位

'

举报 回复 使用道具