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

    科技2024-07-10  77

    (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的二进制是11,11左移2位变为1100,1100再化十进制为12.

    2.右移

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

    3.位与运算

    符号:& 例子:3&7 首先把3和7分别化为二进制,11和111,然后 运算规则是:相同的部分写1,不同的部分写0. 得出011,再化为十进制是3

    4.位或运算

    符号:丨 例子:3丨8 首先把3和8化为二进制,11和1000,然后 运算规则:有1则写1,无1则为0. 得出1011,再化为十进制是11.

    5.位异或运算

    符号:^ 例子:3^5 先把3和5化为二进制,11和101,然后 运算规则:相同的写0,不同的写1. 得出110,再化为十进制是6.

    注意:

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

    Processed: 0.009, SQL: 8