Python中进行进制的转换可以通过它的内置函数bin()、int()、oct()、hex()来实现。下面我们就通过实例来学习一下。
(一)比如要将一个ip地址192.167.45.1/24 (相当于子网掩码是:255.255.255.0)转换成二进制,那么我们就可以借助python来实现。
IP地址是一组能够识别主机和所在网络的编码,由32位二进制组成(等于4个字节),为了便于使用,常以xxx.xxx.xxx.xxx形式表现,每组xxx就代表小于或等于255的十进制数。由2部分组成,网络号+主机号。
分为A类:8+24; B类:16+16; C类:24+8;
那么如何得到网络号呢?
网络号就是将IP地址192.167.45.1 转换成二进制,子网掩码255.255.255.0转换为二进制,然后进行“与运算”。(“与运算”:对应为全是1结果为1,否则为0)
下面,我们就来把IP地址192.167.45.1 和子网掩码255.255.255.0转换成二进制。
步骤如下:
1、打开电脑的cmd命令窗口,然后进入Python解释器模式。
2、分别输入bin(192)、bin(167)、bin(45)、bin(1),将十进制转换成二进制。
3、那么可获得IP地址192.167.45.1 的对应二进制就是11000000.10100111.00101101.00000001
而255.255.255.0的二进制就是11111111.11111111.11111111.00000000
4、将步骤3的2个二进制数,进行与运算得到11000000.10100111.00101101.00000000,将二进制转成十进制就是192.167.45.0,即该IP地址的网络号就是192.167.45.0
该IP地址是C类IP地址。
到这里,以上的例子就讲解完了,其中包含了①将二进制转成十进制②将十进制转成二进制。
那么接下来就继续讲一下其它进制的转换。
(二)其它进制的转换
(三)八进制转换为二进制
举例,把八进制120转换为二进制。
步骤:
①把八进制当中的所有基数,都用二进制表示出来,需要注意的是都是用3位表示,不够就前面补0。
②然后进行拼接就可以了。
那么经过计算,我们就可以获得该八进制120转换为二进制就是001 010 000
(四)十六进制转换成二进制
举例,把十六进制EF转换为二进制。
步骤:
①把十六进制当中的所有基数,都用二进制表示出来,需要注意的是都是用4位表示,不够就前面补0。
②然后进行拼接就可以了。
那么经过计算,我们就可以获得该十六进制EF转换为二进制就是11101111
版权归原作者 简单快乐_wsh 所有, 如有侵权,请联系我们删除。