赋值运算符
# 赋值运算符
# 直接赋值
print('直接赋值')
e = a
print(e)
# 加法赋值
print('加法赋值')
e = 5
e += a
print(e)
# 减法赋值
print('减法赋值')
e = 5
e -= a
print(e)
# 乘法赋值
print('乘法赋值')
e = 5
e *= a
print(e)
# 除法赋值
print('除法赋值')
e = 5
e /= a
print(e)
# 幂赋值
print('幂赋值')
e = 5
e **= a
print(e)
# 取整除赋值
print('取整除赋值')
e = 5
e //= a
print(e)
# 取模赋值
print('取模赋值')
e = 5
e %= a
print(e)
运行结果
直接赋值
10
加法赋值
15
减法赋值
-5
乘法赋值
50
除法赋值
0.5
幂赋值
9765625
取整除赋值
0
取模赋值
5
位运算符
# 位运算符
"""
按位运算符是把数字看做为二进制来进行计算的。
"""
# f = 60
# g = 13
# 按位与
# 及相同位都为1,则结果该位为1
# f和g的第三位和第四位都为1
# 所以结果为00001100
# 转换为十进制则为12
# ps:接下来会有进制转换篇
f = 0b00111100
g = 0b00001101
print(f & g)
# 按位或
# 对应位只要有一个为1,则结果相应位为1
# 00111101=61
print(f | g)
# 按位异或
# 当对应位相异(即不相同时,也就是一个为1,一个为0)
# 结果相应位为1
# 00110001 = 49
print(f ^ g)
# 按位取反运算符
# 位数必须是4N倍,如果不足则用0补齐
# 目前计算机最高支持64位
# 当每一位取反,即把1变为0,0变为1
# 原码:00111100
# 正数补码与原码一致
# 原码的补码:00111100
# 计算机存储的是补码:00111100
# 原码的补码取反:11000011
# 负数补码为除符号位各位取反后+1
# 注意是除去符号,那么剩下的就是正数
# 所以+1的就别再问是+1还是-1了
# 所以输出的就是在计算机中取出的数字(即原码的补码)来取反
# 然后用取反的数字的补码显示出来。
# (这里可以理解为计算机存储和输出的都是补码,并没有原码什么事。)
# 原码的补码取反的补码:10111101
# -(1+4+8+16+32)=-61
print(~f)
# 左移运算符
# 左移之后 11110000 == 240
print(f << 2)
# 右移运算符
# 右移之后 00001111 == 15
print(f >> 2)
运行结果
12
61
49
-61
240
15
转发评论收藏呦
转发评论收藏呦
转发评论收藏呦
转发评论收藏呦
转发评论收藏呦