跳转到内容

Advertising:

位反转

来自GSXAB的知识库
Gsxab留言 | 贡献2025年1月31日 (五) 16:07的版本 (创建页面,内容为“分类:位运算 {{InfoBox |name=位反转 |eng_name=bit toggle |aliases=位翻转 }} '''位反转'''('''bit toggle''')指将数据的某些指定的取值反转的操作。通过与掩码进行按位异或完成。 == 定义 == 对二进制串 <math>b_1 b_2 \cdots b_n</math> ,若需要将其中下标为 <math>j_1 j_2 \cdots j_r</math> 的位中全部 1 变成 0 、 0 变成 1 ,保留其他的位,可以构造掩码 <math>…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
位反转
术语名称 位反转
英语名称 bit toggle
别名 位翻转

位反转(bit toggle)指将数据的某些指定的取值反转的操作。通过与掩码进行按位异或完成。

定义

对二进制串 [math]\displaystyle{ b_1 b_2 \cdots b_n }[/math] ,若需要将其中下标为 [math]\displaystyle{ j_1 j_2 \cdots j_r }[/math] 的位中全部 1 变成 0 、 0 变成 1 ,保留其他的位,可以构造掩码 [math]\displaystyle{ m_1 m_2 \cdots m_n }[/math] ,其中 [math]\displaystyle{ m_i = \begin{cases} 1, i \in \{j_1,j_2,\cdots,j_r\} \\ 0, i\notin \{j_1,j_2,\cdots,j_r\} \end{cases} }[/math] ,令两二进制串进行按位异或,则结果即为所需二进制串,这一操作称为位反转(bit toggle)操作。


位运算
按位运算 按位运算 按位取反按位与按位或按位异或
特殊情况 掩码位设置位清除位反转
移位运算 算术移位 算术左移算术右移
逻辑移位 逻辑左移逻辑右移
循环移位 循环左移循环右移

Advertising: