要建立网站是否要先做网页设计_然后把网页设计与数据库连接起来?,《设计》完整版,推广网络科技公司,网站开发投标书自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501
位运算符是把数字看作二进制数来进行计算的#xff0c;因此#xff0c;需要先将要执行运算的数据转换为二进制#xff0c;然后才能进行执行运算。…自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501
位运算符是把数字看作二进制数来进行计算的因此需要先将要执行运算的数据转换为二进制然后才能进行执行运算。Python中的位运算符有位与、位或、位异或^、取反~、左移位和右移位运算符。
说明整型数据在内存中以二进制的形式表示如7的32位二进制形式如下
00000000 00000000 00000000 00000111
其中左边最高位是符号位最高位是0表示正数若为1则表示负数。负数采用补码表示如-7的32位二进制形式如下
11111111 11111111 11111111 11111001
1“位与”运算
“位与”运算的运算符为“”“位与”运算的运算法则是两个操作数据的二进制表示只有对应数位都是1时结果数位才是1否则为0。如果两个操作数的精度不同则结果的精度与精度高的操作数相同如图33所示。 图33 128的运算过程
2“位或”运算
“位或”运算的运算符为“|”“位或”运算的运算法则是两个操作数据的二进制表示只有对应数位都是0结果数位才是0否则为1。如果两个操作数的精度不同则结果的精度与精度高的操作数相同如图34所示。 图34 4|8的运算过程
3“位异或”运算
“位异或”运算的运算符是“^”“位异或”运算的运算法则是当两个操作数的二进制表示相同同时为0或同时为1时结果为0否则为1。若两个操作数的精度不同则结果数的精度与精度高的操作数相同如图35所示。 图35 31^22的运算过程
4“位取反”运算
“位取反”运算也称“位非”运算运算符为“~”。“位取反”运算就是将操作数中对应的二进制数1修改为00修改为1如图36所示。 图36 ~123的运算过程
在Python中使用print()函数输出图33~图36的运算结果代码如下
print(128 str(128)) # 位与计算整数的结果
print(4|8 str(4|8)) # 位或计算整数的结果
print(31^22 str(31^22)) # 位异或计算整数的结果
print(~123 str(~123)) # 位取反计算整数的结果
运算结果如图37所示。 图37 图33~图36的运算结果
5左移位运算符
左移位运算符是将一个二进制操作数向左移动指定的位数左边高位端溢出的位被丢弃右边低位端的空位用0补充。左移位运算相当于乘以2的n次幂。
例如int类型数据48对应的二进制数为00110000将其左移1位根据左移位运算符的运算规则可以得出(001100001)01100000所以转换为十进制数就是9648×2将其左移2位根据左移位运算符的运算规则可以得出(001100002)11000000所以转换为十进制数就是19248×22其执行过程如图38所示。 图38 左移位运算
6右移位运算符
右移位运算符是将一个二进制操作数向右移动指定的位数右边低位端溢出的位被丢弃而在填充左边高位端的空位时如果最高位是0正数左侧空位填入0如果最高位是1负数左侧空位填入1。右移位运算相当于除以2的n次幂。
正数48右移1位的运算过程如图39所示。 图39 正数48右移1位的运算过程
负数-80右移2位的运算过程如图40所示。 图40 负数-80右移2位的运算过程