问题:
例如,ip地址为10.0.3.193,把每段拆分成一个二进制形式组合起来为00001010 00000000 00000011 11000001,然后把这个二进制数转变成十进制整数就是167773121。
原文描述:
思路:使用位运算实现,哪一位有1就对应位置的n次放,一个ip地址段有8位,32位刚好。故,10左移24位,0左移动16位,3左移动8位,193移动0位,最后求和,通过按位或实现。
代码:
def ipToInt(ip): ipList = ip.split(‘.‘) res = 0 for i,n in zip(ipList, [24, 16, 8, 0]): res |= int(i)<<n return res
整数转化为ip:将每一个ip地址段(右移)同255做与运算,即可获取到整数值
原文:https://www.cnblogs.com/demo-deng/p/14843428.html