Python中的位运算。(只针对2进制的数字)

(1)首先学会十进制化二进制
十进制整数转换为二进制整数十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
在这里插入图片描述

(2)二进制化十进制
二进制转换成十进制:基数乘以权,然后相加,简化运算时可以把数位数是0的项不写出来,(因为0乘以其他不为0的数都是0)。小数部分也一样,但精确度较少。

方法:“按权展开求和”

例:10001111

1×2⁷+1×2³+1×2²+1×2¹+1×2⁰=143,所以10001111的十进制表示为143。

1.左移

符号:<<
例子:3<<2
就是把3左移2位,首先把3化为二进制,3的二进制是1111左移2位变为11001100再化十进制为12.

2.右移

符号:>>
例子:11>>1
把11右移1位,11的二进制为1011,右移1位是101,然后化为十进制是 5.

3.位与运算

符号:&
例子:3&7
首先把3和7分别化为二进制,11111,然后
在这里插入图片描述
运算规则是:相同的部分写1,不同的部分写0.
得出011,再化为十进制是3

4.位或运算

符号:丨
例子:3丨8
首先把3和8化为二进制,111000,然后
在这里插入图片描述
运算规则:有1则写1,无1则为0.
得出1011,再化为十进制是11.

5.位异或运算

符号:^
例子:3^5
先把3和5化为二进制,11101,然后
在这里插入图片描述
运算规则:相同的写0,不同的写1.
得出110,再化为十进制是6.

注意:

位运算符只能用于整数,其内部执行过程:首先将整数转换为二进制数,然后对齐,必要的时候左侧补0,按位进行运算,最后再把计算结果转换为十进制数字返回。

猜你喜欢

转载自blog.csdn.net/Kinght_123/article/details/108952151