Python--进制之间进行转换、位运算

进制之间进行转换、位运算

      在计算机中常用的进制分别有十进制额、二进制、八进制、十六进制。在计算机中的储存的只有按照补码方式进行储存的二进制,所有的运算都是按照补码进行计算的。
     在python中0bxx表示的是二进制,0oxx表示的是八进制,0xXX表示的是十六进制,0dxx表示的是十进制。
     bin、oct、hex分别表示将所给的数转换成二进制、八进制、十六进制。
在这里插入图片描述     int(str,num)将所给的字符串按照num进制的方法读取转换成十进制。
在这里插入图片描述

位运算

在进行位运算之前,首先声明,在python中所有的位运算都是按照补码形式的二进制进行每一位之间的运算的。

&

     &表示与运算,表示每一位上的二进制全为1,得到的该位为1,有0则该位为0。
在这里插入图片描述

|

     | 表示或运算,表示参与运算的对应位上的只要有1则该位结果为1,全为0为0.
在这里插入图片描述

^

     ^ 表示异或运算,表示参与运算的对应位上的全为0,或者全为1结果为0,一位为1,一位为0(不同)为1.
在这里插入图片描述

~

     ~ 表示按位取反操作运算(符号位也参加运算),既1变0,0变1,补充计算机中都是按照补码的方式进行运算的.
在这里插入图片描述
解释上~ 9 =10 :9的补码为00001001 按位取反后得到的补码为11110110 得到原码为10001010 真值为-10

猜你喜欢

转载自blog.csdn.net/weixin_43442071/article/details/88831070