Python 位运算
First Post:
Last Update:
Last Update:
逻辑与位运算符
位运算共两大类
- 逻辑位运算符
- 位与
&
—AND
- 位或
|
—OR
- 异或
^
—NOT
- 按位取反
~
—NAND
- 位与
- 位移运算符
- 左移
<<
- 右移
>>
- 左移
逻辑运算符
位与 &
位与是一个二元运算符
当两个数都为 1 时结果为 1, 否则为 0
例:
十进制
转换为二进制:
1000 的十进制为 8
位或 |
两个数都为 0 时结果才为 0, 否则为 1
例:
二进制:
异或 ^
两个数不同时结果才为 1, 否则为 0
例:
二进制:
按位取反 ~
将每个二进制取反, 1 变为 0, 0 变为 1
例:
~12 = -13
二进制(8 位):
~0000 1100 = 1111 0011
位移运算符
左移
每个二进制位左移若干位, 高位丢弃, 低位补 0
右移
每个二进制位右移若干位, 低丢弃, 高位补 0
计算机符号数
计算机符号数有 3 种表示方式
- 原码
- 反码
- 补码
后面慢慢写