@@ -56,14 +56,14 @@ $\begin{aligned} 106 \div 2 = 53 & \text{(余 0)} \cr 53 \div 2 = 26 & \text
5656
5757我们先来看下这 $6$ 种位运算的规则,再来进行详细讲解。
5858
59- | 运算符 | 描述 | 规则 |
60- | ------ | -------------- | ------------------------------------------------------------ |
61- | ` & ` | 按位与运算符 | 只有对应的两个二进位都为 $1$ 时,结果位才为 $1$。 |
62- | ` | ` | 按位或运算符 | 只要对应的两个二进位有一个为 $1$ 时,结果位就为 $1$。 |
63- | ` ^ ` | 按位异或运算符 | 对应的两个二进位相异时,结果位为 $1$,二进位相同时则结果位为 $0$。 |
64- | ` ~ ` | 取反运算符 | 对二进制数的每个二进位取反,使数字 $1$ 变为 $0$,$0$ 变为 $1$。 |
65- | ` << ` | 左移运算符 | 将二进制数的各个二进位全部左移若干位。` << ` 右侧数字指定了移动位数,高位丢弃,低位补 $0$。 |
66- | ` >> ` | 右移运算符 | 对二进制数的各个二进位全部右移若干位。` >> ` 右侧数字指定了移动位数,低位丢弃,高位补 $0$。 |
59+ | 运算符 | 描述 | 规则 |
60+ | ------------------- | -------------- | ------------------------------------------------------------ |
61+ | ` & ` | 按位与运算符 | 只有对应的两个二进位都为 $1$ 时,结果位才为 $1$。 |
62+ | < code > &# 124 ; </ code > | 按位或运算符 | 只要对应的两个二进位有一个为 $1$ 时,结果位就为 $1$。 |
63+ | ` ^ ` | 按位异或运算符 | 对应的两个二进位相异时,结果位为 $1$,二进位相同时则结果位为 $0$。 |
64+ | ` ~ ` | 取反运算符 | 对二进制数的每个二进位取反,使数字 $1$ 变为 $0$,$0$ 变为 $1$。 |
65+ | ` << ` | 左移运算符 | 将二进制数的各个二进位全部左移若干位。` << ` 右侧数字指定了移动位数,高位丢弃,低位补 $0$。 |
66+ | ` >> ` | 右移运算符 | 对二进制数的各个二进位全部右移若干位。` >> ` 右侧数字指定了移动位数,低位丢弃,高位补 $0$。 |
6767
6868### 2.1 按位与运算
6969
@@ -265,23 +265,23 @@ class Solution:
265265
266266那么我们就可以用一个长度为 $n$ 的二进制数来表示集合 $S$ 或者表示 $S$ 的子集。其中二进制的每一个二进位都对应了集合中某一个元素的选取状态。对于集合中第 $i$ 个元素来说,二进制对应位置上的 $1$ 代表该元素被选取,$0$ 代表该元素未被选取。
267267
268- 举个例子,比如长度为 $5$ 的集合 $S = \left \ { 5, 4, 3, 2, 1 \right \} $,我们可以用一个长度为 $5$ 的二进制数来表示该集合。
268+ 举个例子,比如长度为 $5$ 的集合 $S = \{ 5, 4, 3, 2, 1 \} $,我们可以用一个长度为 $5$ 的二进制数来表示该集合。
269269
270- 比如二进制数 $11111_ {(2)}$ 就表示选取集合的第 $1$ 位、第 $2$ 位、第 $3$ 位、第 $4$ 位、第 $5$ 位元素,也就是集合 $\left \{ 5, 4, 3, 2, 1 \right \} $ ,即集合 $S$ 本身。如下表所示:
270+ 比如二进制数 $11111_ {(2)}$ 就表示选取集合的第 $1$ 位、第 $2$ 位、第 $3$ 位、第 $4$ 位、第 $5$ 位元素,也就是集合 ` { 5, 4, 3, 2, 1} ` ,即集合 $S$ 本身。如下表所示:
271271
272272| 集合 S 中元素位置 | 5 | 4 | 3 | 2 | 1 |
273273| :---------------- | :--: | :--: | :--: | :--: | :--: |
274274| 二进位对应值 | 1 | 1 | 1 | 1 | 1 |
275275| 对应选取状态 | 选取 | 选取 | 选取 | 选取 | 选取 |
276276
277- 再比如二进制数 $10101_ {(2)}$ 就表示选取集合的第 $1$ 位、第 $3$ 位、第 $5$ 位元素,也就是集合 $\left \{ 5, 3, 1 \right \} $ 。如下表所示:
277+ 再比如二进制数 $10101_ {(2)}$ 就表示选取集合的第 $1$ 位、第 $3$ 位、第 $5$ 位元素,也就是集合 ` { 5, 3, 1 } ` 。如下表所示:
278278
279279| 集合 S 中元素位置 | 5 | 4 | 3 | 2 | 1 |
280280| :---------------- | :--: | :----: | :--: | :----: | :--: |
281281| 二进位对应值 | 1 | 0 | 1 | 0 | 1 |
282282| 对应选取状态 | 选取 | 未选取 | 选取 | 未选取 | 选取 |
283283
284- 再比如二进制数 $01001_ {(2)}$ 就表示选取集合的第 $1$ 位、第 $4$ 位元素,也就是集合 $\left \{ 4, 1 \right \} $ 。如下标所示:
284+ 再比如二进制数 $01001_ {(2)}$ 就表示选取集合的第 $1$ 位、第 $4$ 位元素,也就是集合 ` { 4, 1 } ` 。如下标所示:
285285
286286| 集合 S 中元素位置 | 5 | 4 | 3 | 2 | 1 |
287287| :---------------- | :----: | :--: | :----: | :----: | :--: |
0 commit comments