swift-位运算符

1. 位取反运算符( ~

位取反运算符(~ )是对所有位的数字进行取反操作

2. 位与运算符( &

位与运算符(& )可以对两个数的比特位进行合并。它会返回一个新的数,只有当这两个数都是 1 的时候才能返回 1

3. 位或运算符(|

位或运算符(|)可以对两个比特位进行比较,然后返回一个新的数,只要两个操作位任意一个为 1 时,那么对应的位数就为 1 。

4. 位异或运算符( ^

位异或运算符,或者说“互斥或”( ^ )可以对两个数的比特位进行比较。它返回一个新的数,当两个操作数的对应位不相同时,该数的对应位就为1

5. 位左移和右移运算符

  • 位左移运算符( << )和位右移运算符(>> )可以把所有位数的数字向左或向右移动一个确定的位数。

  • 位左移和右移具有给整数乘以或除以二的效果。将一个数左移一位相当于把这个数翻倍,将一个数右移一位相当于把这个数减半

6. 无符号整数的移位操作

  • 已经存在的比特位按指定的位数进行左移右移

  • 任何移动超出整型存储边界的位都会被丢弃

  • 0 来填充向左或向右移动后产生的空白位

7. 有符号整数的移位操作

  • 有符号整数使用它的第一位(所谓的符号位)来表示这个整数是正数还是负数。符号位为 0 表示为正数1 表示为负数

  • 其余的位数(所谓的数值位)存储了实际的值。有符号正整数和无符号数的存储方式是一样的,都是从 0 开始起。

  • 但是负数存储方式略有不同。它存储的是 2n次方减去它的绝对值,这里的 n数值位位数

你可能感兴趣的:(swift-位运算符)