zoukankan      html  css  js  c++  java
  • ip地址与整数转换

    问题:

    例如,ip地址为10.0.3.193,把每段拆分成一个二进制形式组合起来为00001010 00000000 00000011 11000001,然后把这个二进制数转变成十进制整数就是167773121。

    原文描述:

    • 给你一个IP4的地址,请转成十进制整数 (2021-03 腾讯-PCG-前端)
    • 手撕算法: ip地址转整数 (2021-03 腾讯-TEG-后端)
    • ip字符串转整型(2021-02 快手-效率工程-后端)

    思路:使用位运算实现,哪一位有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做与运算,即可获取到整数值

    时刻记着自己要成为什么样的人!
  • 相关阅读:
    Handlerbars基础笔记
    each()和eq()
    可编辑表格(Editable Table)
    垂直居中vertical-align
    CSS属性的私有前缀
    CSS进阶知识
    CSS预处理器们
    CSS3之伪元素选择器和伪类选择器
    CSS基础复习
    Plan
  • 原文地址:https://www.cnblogs.com/demo-deng/p/14843428.html
Copyright © 2011-2022 走看看