The gaze surpasses words, and symbols in Python are more powerful than letters.
运行系统:macOS Sonoma 14.6.1
Python编译器:PyCharm 2024.1.4 (Community Edition)
Python版本:3.12
往期链接:
1-5 | 6-10 | 11-20 | 21-30 | 31-40 |
---|
041 算术运算符
- +:加法
- -:减法
- *:乘法
- /:除法
- //:整除
- %:取余
- **:幂
a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.3333...
print(a // b) # 3
print(a % b) # 1
print(a ** b) # 1000
042 比较运算符
- ==:等于
- !=:不等于
- >:大于
- <:小于
- >=:大于等于,不小于
- <=:小于等于,不大于
x = 5
y = 10
print(x == y) # False
print(x != y) # True
print(x > y) # False
print(x < y) # True
print(x >= y) # False
print(x <= y) # True
043 负数的二进制表示
在计算机中,负数通常使用补码表示。补码是一种表示负数的有效方法,使得加法和减法可以使用相同的电路。以下是关于负数二进制表示的详细说明:
- 原码:直接用二进制表示数值的绝对值,最高位表示符号(0表示正数,1表示负数)。
- 反码:负数的反码是其原码除符号位外的每一位取反。
- 补码:负数的补码是其反码加1。
下面使用8位二进制数来表示,可以表示从-128到127之间的整数。
- 示例1:-5的二进制表示
S1:5的二进制原码:0000 0101
S2:得到-5的反码:1111 1010(将原码的每一位取反)
S3:得到-5的补码:1111 1010 + 1 = 1111 1011
因此,-5的补码表示为 1111 1011
num = 5
binary = format(num, '08b') # 8位二进制表示
print(binary) # 输出: 00000101
num = -5
binary = format(num & 0xFF, '08b') # 8位补码表示
print(binary) # 输出: 11111011
- 示例2:-127的二进制表示
S1:127的原码:0111 1111
S2:反码:1000 0000
S3:补码:1000 0000 + 1 = 1000 0001
因此,-127的补码表示为 10000001
num = 127
binary = format(num, '08b') # 8位二进制表示
print(binary) # 输出: 01111111
num = -127
binary = format(num & 0xFF, '08b') # 8位补码表示
print(binary) # 输出: 10000001
- 示例3:-12的二进制表示
S1:12的原码:0000 1100
S2:反码:1111 0011
S3:补码:1111 0011 + 1 = 1111 0100
因此,-12的补码表示为 1111 0100
num = 12
binary = format(num, '08b') # 8位二进制表示
print(binary) # 输出: 00001100
num = -12
binary = format(num & 0xFF, '08b') # 8位补码表示
print(binary) # 输出: 11110100
044 位运算符
& 按位与
按位与运算符 & 在Python中用于对两个整数的每一位进行比较,只有在两个对应的二进制位都是 1 时,结果的该位才为 1,否则为 0。
- 正数的按位与
x = 5 # 二进制表示为 0000 0101
y = 3 # 二进制表示为 0000 0011
result = x & y # 结果为 0000 0001
print(result) # 输出 1
- 负数的按位与
a = -5 # 二进制表示为 1111 1011(假设使用8位表示)
b = 3 # 二进制表示为 0000 0011
result = a & b # 结果为 0000 0011
print(result) # 输出 3
- 零的按位与
e &