生活中我们使用的数字都是十进制的,而二进制是机器能识别的最直接的语言。但是二进制文件太大,记录起来很不方便。所以通常将二进制转换为八进制或十六进制。在日常生活中,我们称之为(十进制)的数字都是在0到9之间。同样,二进制的范围是0~1,八进制的范围是0~7,十六进制的范围是0~15。那么问题来了,当数字超过9时,十六进制应该怎么表示呢?答案是用a~f来表示对应的10~15个碱基表达。如何用Python表达每一个碱基?默认输入的数字是十进制。0b开头的数字表示二进制。0o开头的数字表示八进制。0x开头的数字表示十六进制#普通十进制a=12print(a)#12#0b表示二进制b=0b100100print(b)#36#0o表示八进制c=0o56print(c)#46#0x表示十六进制d=0x2a1print(d)#673进制之间的转换1、十进制转二进制十进制数除以2取余,直到商为0。以12为例,12/2=6余数06/2=3余数03/2=1余数11/2=0余数1从上到下取余,因此,12对应的二进制为:11002,二进制转换十进制将二进制按权重展开步长相加。例如二进制数:1100,按如下格式展开00111\*2^01\*2^11\*2^21\*2^30*1*2^0+0*1*2^1+1*1*2^2+1*1*2^3=123。二进制和八进制转换将二进制按3位从右向左拆分,不足补0。比如二进制:1100可以拆分成001100,然后根据权重展开合并。即:02^2+02^1+1*2^0=112^2+02^1+0*2^0=4所以对应的八进制是14。4.将八进制除以2取余,将八进制转换为二进制。1的二进制为1,3位加0,即0014的二进制为100。因此,八进制14转二进制的结果为:001100。其实日常生活中主要用到的是二进制和十进制之间的转换,了解其他东西就足够了。在Python中,已经封装了各种基数转换,可以直接调用。a=12print(bin(a))#0b1100十进制转二进制print(oct(a))#0o14十进制转八进制print(hex(a))#0xc十进制转十六进制#二进制转十进制print(int('0b1100',2))#八进制转十进制print(int('0o14',8))#十六进制转十进制print(int('0xc',16))文末收史上最全Python资料(长期更新)。隔壁的孩子都哭了---点击收藏
